1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package mediaconnect
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 opAddFlowMediaStreams = "AddFlowMediaStreams"
16
17// AddFlowMediaStreamsRequest generates a "aws/request.Request" representing the
18// client's request for the AddFlowMediaStreams 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 AddFlowMediaStreams for more information on using the AddFlowMediaStreams
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 AddFlowMediaStreamsRequest method.
33//    req, resp := client.AddFlowMediaStreamsRequest(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/mediaconnect-2018-11-14/AddFlowMediaStreams
41func (c *MediaConnect) AddFlowMediaStreamsRequest(input *AddFlowMediaStreamsInput) (req *request.Request, output *AddFlowMediaStreamsOutput) {
42	op := &request.Operation{
43		Name:       opAddFlowMediaStreams,
44		HTTPMethod: "POST",
45		HTTPPath:   "/v1/flows/{flowArn}/mediaStreams",
46	}
47
48	if input == nil {
49		input = &AddFlowMediaStreamsInput{}
50	}
51
52	output = &AddFlowMediaStreamsOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// AddFlowMediaStreams API operation for AWS MediaConnect.
58//
59// Adds media streams to an existing flow. After you add a media stream to a
60// flow, you can associate it with a source and/or an output that uses the ST
61// 2110 JPEG XS or CDI protocol.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for AWS MediaConnect's
68// API operation AddFlowMediaStreams for usage and error information.
69//
70// Returned Error Types:
71//   * BadRequestException
72//   Exception raised by AWS Elemental MediaConnect. See the error message and
73//   documentation for the operation for more information on the cause of this
74//   exception.
75//
76//   * InternalServerErrorException
77//   Exception raised by AWS Elemental MediaConnect. See the error message and
78//   documentation for the operation for more information on the cause of this
79//   exception.
80//
81//   * ForbiddenException
82//   Exception raised by AWS Elemental MediaConnect. See the error message and
83//   documentation for the operation for more information on the cause of this
84//   exception.
85//
86//   * NotFoundException
87//   Exception raised by AWS Elemental MediaConnect. See the error message and
88//   documentation for the operation for more information on the cause of this
89//   exception.
90//
91//   * ServiceUnavailableException
92//   Exception raised by AWS Elemental MediaConnect. See the error message and
93//   documentation for the operation for more information on the cause of this
94//   exception.
95//
96//   * TooManyRequestsException
97//   Exception raised by AWS Elemental MediaConnect. See the error message and
98//   documentation for the operation for more information on the cause of this
99//   exception.
100//
101// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowMediaStreams
102func (c *MediaConnect) AddFlowMediaStreams(input *AddFlowMediaStreamsInput) (*AddFlowMediaStreamsOutput, error) {
103	req, out := c.AddFlowMediaStreamsRequest(input)
104	return out, req.Send()
105}
106
107// AddFlowMediaStreamsWithContext is the same as AddFlowMediaStreams with the addition of
108// the ability to pass a context and additional request options.
109//
110// See AddFlowMediaStreams for details on how to use this API operation.
111//
112// The context must be non-nil and will be used for request cancellation. If
113// the context is nil a panic will occur. In the future the SDK may create
114// sub-contexts for http.Requests. See https://golang.org/pkg/context/
115// for more information on using Contexts.
116func (c *MediaConnect) AddFlowMediaStreamsWithContext(ctx aws.Context, input *AddFlowMediaStreamsInput, opts ...request.Option) (*AddFlowMediaStreamsOutput, error) {
117	req, out := c.AddFlowMediaStreamsRequest(input)
118	req.SetContext(ctx)
119	req.ApplyOptions(opts...)
120	return out, req.Send()
121}
122
123const opAddFlowOutputs = "AddFlowOutputs"
124
125// AddFlowOutputsRequest generates a "aws/request.Request" representing the
126// client's request for the AddFlowOutputs operation. The "output" return
127// value will be populated with the request's response once the request completes
128// successfully.
129//
130// Use "Send" method on the returned Request to send the API call to the service.
131// the "output" return value is not valid until after Send returns without error.
132//
133// See AddFlowOutputs for more information on using the AddFlowOutputs
134// API call, and error handling.
135//
136// This method is useful when you want to inject custom logic or configuration
137// into the SDK's request lifecycle. Such as custom headers, or retry logic.
138//
139//
140//    // Example sending a request using the AddFlowOutputsRequest method.
141//    req, resp := client.AddFlowOutputsRequest(params)
142//
143//    err := req.Send()
144//    if err == nil { // resp is now filled
145//        fmt.Println(resp)
146//    }
147//
148// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowOutputs
149func (c *MediaConnect) AddFlowOutputsRequest(input *AddFlowOutputsInput) (req *request.Request, output *AddFlowOutputsOutput) {
150	op := &request.Operation{
151		Name:       opAddFlowOutputs,
152		HTTPMethod: "POST",
153		HTTPPath:   "/v1/flows/{flowArn}/outputs",
154	}
155
156	if input == nil {
157		input = &AddFlowOutputsInput{}
158	}
159
160	output = &AddFlowOutputsOutput{}
161	req = c.newRequest(op, input, output)
162	return
163}
164
165// AddFlowOutputs API operation for AWS MediaConnect.
166//
167// Adds outputs to an existing flow. You can create up to 50 outputs per flow.
168//
169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
170// with awserr.Error's Code and Message methods to get detailed information about
171// the error.
172//
173// See the AWS API reference guide for AWS MediaConnect's
174// API operation AddFlowOutputs for usage and error information.
175//
176// Returned Error Types:
177//   * AddFlowOutputs420Exception
178//   Exception raised by AWS Elemental MediaConnect. See the error message and
179//   documentation for the operation for more information on the cause of this
180//   exception.
181//
182//   * BadRequestException
183//   Exception raised by AWS Elemental MediaConnect. See the error message and
184//   documentation for the operation for more information on the cause of this
185//   exception.
186//
187//   * InternalServerErrorException
188//   Exception raised by AWS Elemental MediaConnect. See the error message and
189//   documentation for the operation for more information on the cause of this
190//   exception.
191//
192//   * ForbiddenException
193//   Exception raised by AWS Elemental MediaConnect. See the error message and
194//   documentation for the operation for more information on the cause of this
195//   exception.
196//
197//   * NotFoundException
198//   Exception raised by AWS Elemental MediaConnect. See the error message and
199//   documentation for the operation for more information on the cause of this
200//   exception.
201//
202//   * ServiceUnavailableException
203//   Exception raised by AWS Elemental MediaConnect. See the error message and
204//   documentation for the operation for more information on the cause of this
205//   exception.
206//
207//   * TooManyRequestsException
208//   Exception raised by AWS Elemental MediaConnect. See the error message and
209//   documentation for the operation for more information on the cause of this
210//   exception.
211//
212// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowOutputs
213func (c *MediaConnect) AddFlowOutputs(input *AddFlowOutputsInput) (*AddFlowOutputsOutput, error) {
214	req, out := c.AddFlowOutputsRequest(input)
215	return out, req.Send()
216}
217
218// AddFlowOutputsWithContext is the same as AddFlowOutputs with the addition of
219// the ability to pass a context and additional request options.
220//
221// See AddFlowOutputs for details on how to use this API operation.
222//
223// The context must be non-nil and will be used for request cancellation. If
224// the context is nil a panic will occur. In the future the SDK may create
225// sub-contexts for http.Requests. See https://golang.org/pkg/context/
226// for more information on using Contexts.
227func (c *MediaConnect) AddFlowOutputsWithContext(ctx aws.Context, input *AddFlowOutputsInput, opts ...request.Option) (*AddFlowOutputsOutput, error) {
228	req, out := c.AddFlowOutputsRequest(input)
229	req.SetContext(ctx)
230	req.ApplyOptions(opts...)
231	return out, req.Send()
232}
233
234const opAddFlowSources = "AddFlowSources"
235
236// AddFlowSourcesRequest generates a "aws/request.Request" representing the
237// client's request for the AddFlowSources operation. The "output" return
238// value will be populated with the request's response once the request completes
239// successfully.
240//
241// Use "Send" method on the returned Request to send the API call to the service.
242// the "output" return value is not valid until after Send returns without error.
243//
244// See AddFlowSources for more information on using the AddFlowSources
245// API call, and error handling.
246//
247// This method is useful when you want to inject custom logic or configuration
248// into the SDK's request lifecycle. Such as custom headers, or retry logic.
249//
250//
251//    // Example sending a request using the AddFlowSourcesRequest method.
252//    req, resp := client.AddFlowSourcesRequest(params)
253//
254//    err := req.Send()
255//    if err == nil { // resp is now filled
256//        fmt.Println(resp)
257//    }
258//
259// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowSources
260func (c *MediaConnect) AddFlowSourcesRequest(input *AddFlowSourcesInput) (req *request.Request, output *AddFlowSourcesOutput) {
261	op := &request.Operation{
262		Name:       opAddFlowSources,
263		HTTPMethod: "POST",
264		HTTPPath:   "/v1/flows/{flowArn}/source",
265	}
266
267	if input == nil {
268		input = &AddFlowSourcesInput{}
269	}
270
271	output = &AddFlowSourcesOutput{}
272	req = c.newRequest(op, input, output)
273	return
274}
275
276// AddFlowSources API operation for AWS MediaConnect.
277//
278// Adds Sources to flow
279//
280// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
281// with awserr.Error's Code and Message methods to get detailed information about
282// the error.
283//
284// See the AWS API reference guide for AWS MediaConnect's
285// API operation AddFlowSources for usage and error information.
286//
287// Returned Error Types:
288//   * BadRequestException
289//   Exception raised by AWS Elemental MediaConnect. See the error message and
290//   documentation for the operation for more information on the cause of this
291//   exception.
292//
293//   * InternalServerErrorException
294//   Exception raised by AWS Elemental MediaConnect. See the error message and
295//   documentation for the operation for more information on the cause of this
296//   exception.
297//
298//   * ForbiddenException
299//   Exception raised by AWS Elemental MediaConnect. See the error message and
300//   documentation for the operation for more information on the cause of this
301//   exception.
302//
303//   * NotFoundException
304//   Exception raised by AWS Elemental MediaConnect. See the error message and
305//   documentation for the operation for more information on the cause of this
306//   exception.
307//
308//   * ServiceUnavailableException
309//   Exception raised by AWS Elemental MediaConnect. See the error message and
310//   documentation for the operation for more information on the cause of this
311//   exception.
312//
313//   * TooManyRequestsException
314//   Exception raised by AWS Elemental MediaConnect. See the error message and
315//   documentation for the operation for more information on the cause of this
316//   exception.
317//
318// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowSources
319func (c *MediaConnect) AddFlowSources(input *AddFlowSourcesInput) (*AddFlowSourcesOutput, error) {
320	req, out := c.AddFlowSourcesRequest(input)
321	return out, req.Send()
322}
323
324// AddFlowSourcesWithContext is the same as AddFlowSources with the addition of
325// the ability to pass a context and additional request options.
326//
327// See AddFlowSources for details on how to use this API operation.
328//
329// The context must be non-nil and will be used for request cancellation. If
330// the context is nil a panic will occur. In the future the SDK may create
331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
332// for more information on using Contexts.
333func (c *MediaConnect) AddFlowSourcesWithContext(ctx aws.Context, input *AddFlowSourcesInput, opts ...request.Option) (*AddFlowSourcesOutput, error) {
334	req, out := c.AddFlowSourcesRequest(input)
335	req.SetContext(ctx)
336	req.ApplyOptions(opts...)
337	return out, req.Send()
338}
339
340const opAddFlowVpcInterfaces = "AddFlowVpcInterfaces"
341
342// AddFlowVpcInterfacesRequest generates a "aws/request.Request" representing the
343// client's request for the AddFlowVpcInterfaces operation. The "output" return
344// value will be populated with the request's response once the request completes
345// successfully.
346//
347// Use "Send" method on the returned Request to send the API call to the service.
348// the "output" return value is not valid until after Send returns without error.
349//
350// See AddFlowVpcInterfaces for more information on using the AddFlowVpcInterfaces
351// API call, and error handling.
352//
353// This method is useful when you want to inject custom logic or configuration
354// into the SDK's request lifecycle. Such as custom headers, or retry logic.
355//
356//
357//    // Example sending a request using the AddFlowVpcInterfacesRequest method.
358//    req, resp := client.AddFlowVpcInterfacesRequest(params)
359//
360//    err := req.Send()
361//    if err == nil { // resp is now filled
362//        fmt.Println(resp)
363//    }
364//
365// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowVpcInterfaces
366func (c *MediaConnect) AddFlowVpcInterfacesRequest(input *AddFlowVpcInterfacesInput) (req *request.Request, output *AddFlowVpcInterfacesOutput) {
367	op := &request.Operation{
368		Name:       opAddFlowVpcInterfaces,
369		HTTPMethod: "POST",
370		HTTPPath:   "/v1/flows/{flowArn}/vpcInterfaces",
371	}
372
373	if input == nil {
374		input = &AddFlowVpcInterfacesInput{}
375	}
376
377	output = &AddFlowVpcInterfacesOutput{}
378	req = c.newRequest(op, input, output)
379	return
380}
381
382// AddFlowVpcInterfaces API operation for AWS MediaConnect.
383//
384// Adds VPC interfaces to flow
385//
386// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
387// with awserr.Error's Code and Message methods to get detailed information about
388// the error.
389//
390// See the AWS API reference guide for AWS MediaConnect's
391// API operation AddFlowVpcInterfaces for usage and error information.
392//
393// Returned Error Types:
394//   * BadRequestException
395//   Exception raised by AWS Elemental MediaConnect. See the error message and
396//   documentation for the operation for more information on the cause of this
397//   exception.
398//
399//   * InternalServerErrorException
400//   Exception raised by AWS Elemental MediaConnect. See the error message and
401//   documentation for the operation for more information on the cause of this
402//   exception.
403//
404//   * ForbiddenException
405//   Exception raised by AWS Elemental MediaConnect. See the error message and
406//   documentation for the operation for more information on the cause of this
407//   exception.
408//
409//   * NotFoundException
410//   Exception raised by AWS Elemental MediaConnect. See the error message and
411//   documentation for the operation for more information on the cause of this
412//   exception.
413//
414//   * ServiceUnavailableException
415//   Exception raised by AWS Elemental MediaConnect. See the error message and
416//   documentation for the operation for more information on the cause of this
417//   exception.
418//
419//   * TooManyRequestsException
420//   Exception raised by AWS Elemental MediaConnect. See the error message and
421//   documentation for the operation for more information on the cause of this
422//   exception.
423//
424// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowVpcInterfaces
425func (c *MediaConnect) AddFlowVpcInterfaces(input *AddFlowVpcInterfacesInput) (*AddFlowVpcInterfacesOutput, error) {
426	req, out := c.AddFlowVpcInterfacesRequest(input)
427	return out, req.Send()
428}
429
430// AddFlowVpcInterfacesWithContext is the same as AddFlowVpcInterfaces with the addition of
431// the ability to pass a context and additional request options.
432//
433// See AddFlowVpcInterfaces for details on how to use this API operation.
434//
435// The context must be non-nil and will be used for request cancellation. If
436// the context is nil a panic will occur. In the future the SDK may create
437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
438// for more information on using Contexts.
439func (c *MediaConnect) AddFlowVpcInterfacesWithContext(ctx aws.Context, input *AddFlowVpcInterfacesInput, opts ...request.Option) (*AddFlowVpcInterfacesOutput, error) {
440	req, out := c.AddFlowVpcInterfacesRequest(input)
441	req.SetContext(ctx)
442	req.ApplyOptions(opts...)
443	return out, req.Send()
444}
445
446const opCreateFlow = "CreateFlow"
447
448// CreateFlowRequest generates a "aws/request.Request" representing the
449// client's request for the CreateFlow operation. The "output" return
450// value will be populated with the request's response once the request completes
451// successfully.
452//
453// Use "Send" method on the returned Request to send the API call to the service.
454// the "output" return value is not valid until after Send returns without error.
455//
456// See CreateFlow for more information on using the CreateFlow
457// API call, and error handling.
458//
459// This method is useful when you want to inject custom logic or configuration
460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
461//
462//
463//    // Example sending a request using the CreateFlowRequest method.
464//    req, resp := client.CreateFlowRequest(params)
465//
466//    err := req.Send()
467//    if err == nil { // resp is now filled
468//        fmt.Println(resp)
469//    }
470//
471// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/CreateFlow
472func (c *MediaConnect) CreateFlowRequest(input *CreateFlowInput) (req *request.Request, output *CreateFlowOutput) {
473	op := &request.Operation{
474		Name:       opCreateFlow,
475		HTTPMethod: "POST",
476		HTTPPath:   "/v1/flows",
477	}
478
479	if input == nil {
480		input = &CreateFlowInput{}
481	}
482
483	output = &CreateFlowOutput{}
484	req = c.newRequest(op, input, output)
485	return
486}
487
488// CreateFlow API operation for AWS MediaConnect.
489//
490// Creates a new flow. The request must include one source. The request optionally
491// can include outputs (up to 50) and entitlements (up to 50).
492//
493// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
494// with awserr.Error's Code and Message methods to get detailed information about
495// the error.
496//
497// See the AWS API reference guide for AWS MediaConnect's
498// API operation CreateFlow for usage and error information.
499//
500// Returned Error Types:
501//   * CreateFlow420Exception
502//   Exception raised by AWS Elemental MediaConnect. See the error message and
503//   documentation for the operation for more information on the cause of this
504//   exception.
505//
506//   * BadRequestException
507//   Exception raised by AWS Elemental MediaConnect. See the error message and
508//   documentation for the operation for more information on the cause of this
509//   exception.
510//
511//   * InternalServerErrorException
512//   Exception raised by AWS Elemental MediaConnect. See the error message and
513//   documentation for the operation for more information on the cause of this
514//   exception.
515//
516//   * ForbiddenException
517//   Exception raised by AWS Elemental MediaConnect. See the error message and
518//   documentation for the operation for more information on the cause of this
519//   exception.
520//
521//   * ServiceUnavailableException
522//   Exception raised by AWS Elemental MediaConnect. See the error message and
523//   documentation for the operation for more information on the cause of this
524//   exception.
525//
526//   * TooManyRequestsException
527//   Exception raised by AWS Elemental MediaConnect. See the error message and
528//   documentation for the operation for more information on the cause of this
529//   exception.
530//
531// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/CreateFlow
532func (c *MediaConnect) CreateFlow(input *CreateFlowInput) (*CreateFlowOutput, error) {
533	req, out := c.CreateFlowRequest(input)
534	return out, req.Send()
535}
536
537// CreateFlowWithContext is the same as CreateFlow with the addition of
538// the ability to pass a context and additional request options.
539//
540// See CreateFlow for details on how to use this API operation.
541//
542// The context must be non-nil and will be used for request cancellation. If
543// the context is nil a panic will occur. In the future the SDK may create
544// sub-contexts for http.Requests. See https://golang.org/pkg/context/
545// for more information on using Contexts.
546func (c *MediaConnect) CreateFlowWithContext(ctx aws.Context, input *CreateFlowInput, opts ...request.Option) (*CreateFlowOutput, error) {
547	req, out := c.CreateFlowRequest(input)
548	req.SetContext(ctx)
549	req.ApplyOptions(opts...)
550	return out, req.Send()
551}
552
553const opDeleteFlow = "DeleteFlow"
554
555// DeleteFlowRequest generates a "aws/request.Request" representing the
556// client's request for the DeleteFlow operation. The "output" return
557// value will be populated with the request's response once the request completes
558// successfully.
559//
560// Use "Send" method on the returned Request to send the API call to the service.
561// the "output" return value is not valid until after Send returns without error.
562//
563// See DeleteFlow for more information on using the DeleteFlow
564// API call, and error handling.
565//
566// This method is useful when you want to inject custom logic or configuration
567// into the SDK's request lifecycle. Such as custom headers, or retry logic.
568//
569//
570//    // Example sending a request using the DeleteFlowRequest method.
571//    req, resp := client.DeleteFlowRequest(params)
572//
573//    err := req.Send()
574//    if err == nil { // resp is now filled
575//        fmt.Println(resp)
576//    }
577//
578// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DeleteFlow
579func (c *MediaConnect) DeleteFlowRequest(input *DeleteFlowInput) (req *request.Request, output *DeleteFlowOutput) {
580	op := &request.Operation{
581		Name:       opDeleteFlow,
582		HTTPMethod: "DELETE",
583		HTTPPath:   "/v1/flows/{flowArn}",
584	}
585
586	if input == nil {
587		input = &DeleteFlowInput{}
588	}
589
590	output = &DeleteFlowOutput{}
591	req = c.newRequest(op, input, output)
592	return
593}
594
595// DeleteFlow API operation for AWS MediaConnect.
596//
597// Deletes a flow. Before you can delete a flow, you must stop the flow.
598//
599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
600// with awserr.Error's Code and Message methods to get detailed information about
601// the error.
602//
603// See the AWS API reference guide for AWS MediaConnect's
604// API operation DeleteFlow for usage and error information.
605//
606// Returned Error Types:
607//   * BadRequestException
608//   Exception raised by AWS Elemental MediaConnect. See the error message and
609//   documentation for the operation for more information on the cause of this
610//   exception.
611//
612//   * InternalServerErrorException
613//   Exception raised by AWS Elemental MediaConnect. See the error message and
614//   documentation for the operation for more information on the cause of this
615//   exception.
616//
617//   * ForbiddenException
618//   Exception raised by AWS Elemental MediaConnect. See the error message and
619//   documentation for the operation for more information on the cause of this
620//   exception.
621//
622//   * NotFoundException
623//   Exception raised by AWS Elemental MediaConnect. See the error message and
624//   documentation for the operation for more information on the cause of this
625//   exception.
626//
627//   * ServiceUnavailableException
628//   Exception raised by AWS Elemental MediaConnect. See the error message and
629//   documentation for the operation for more information on the cause of this
630//   exception.
631//
632//   * TooManyRequestsException
633//   Exception raised by AWS Elemental MediaConnect. See the error message and
634//   documentation for the operation for more information on the cause of this
635//   exception.
636//
637// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DeleteFlow
638func (c *MediaConnect) DeleteFlow(input *DeleteFlowInput) (*DeleteFlowOutput, error) {
639	req, out := c.DeleteFlowRequest(input)
640	return out, req.Send()
641}
642
643// DeleteFlowWithContext is the same as DeleteFlow with the addition of
644// the ability to pass a context and additional request options.
645//
646// See DeleteFlow for details on how to use this API operation.
647//
648// The context must be non-nil and will be used for request cancellation. If
649// the context is nil a panic will occur. In the future the SDK may create
650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
651// for more information on using Contexts.
652func (c *MediaConnect) DeleteFlowWithContext(ctx aws.Context, input *DeleteFlowInput, opts ...request.Option) (*DeleteFlowOutput, error) {
653	req, out := c.DeleteFlowRequest(input)
654	req.SetContext(ctx)
655	req.ApplyOptions(opts...)
656	return out, req.Send()
657}
658
659const opDescribeFlow = "DescribeFlow"
660
661// DescribeFlowRequest generates a "aws/request.Request" representing the
662// client's request for the DescribeFlow operation. The "output" return
663// value will be populated with the request's response once the request completes
664// successfully.
665//
666// Use "Send" method on the returned Request to send the API call to the service.
667// the "output" return value is not valid until after Send returns without error.
668//
669// See DescribeFlow for more information on using the DescribeFlow
670// API call, and error handling.
671//
672// This method is useful when you want to inject custom logic or configuration
673// into the SDK's request lifecycle. Such as custom headers, or retry logic.
674//
675//
676//    // Example sending a request using the DescribeFlowRequest method.
677//    req, resp := client.DescribeFlowRequest(params)
678//
679//    err := req.Send()
680//    if err == nil { // resp is now filled
681//        fmt.Println(resp)
682//    }
683//
684// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DescribeFlow
685func (c *MediaConnect) DescribeFlowRequest(input *DescribeFlowInput) (req *request.Request, output *DescribeFlowOutput) {
686	op := &request.Operation{
687		Name:       opDescribeFlow,
688		HTTPMethod: "GET",
689		HTTPPath:   "/v1/flows/{flowArn}",
690	}
691
692	if input == nil {
693		input = &DescribeFlowInput{}
694	}
695
696	output = &DescribeFlowOutput{}
697	req = c.newRequest(op, input, output)
698	return
699}
700
701// DescribeFlow API operation for AWS MediaConnect.
702//
703// Displays the details of a flow. The response includes the flow ARN, name,
704// and Availability Zone, as well as details about the source, outputs, and
705// entitlements.
706//
707// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
708// with awserr.Error's Code and Message methods to get detailed information about
709// the error.
710//
711// See the AWS API reference guide for AWS MediaConnect's
712// API operation DescribeFlow for usage and error information.
713//
714// Returned Error Types:
715//   * BadRequestException
716//   Exception raised by AWS Elemental MediaConnect. See the error message and
717//   documentation for the operation for more information on the cause of this
718//   exception.
719//
720//   * InternalServerErrorException
721//   Exception raised by AWS Elemental MediaConnect. See the error message and
722//   documentation for the operation for more information on the cause of this
723//   exception.
724//
725//   * ForbiddenException
726//   Exception raised by AWS Elemental MediaConnect. See the error message and
727//   documentation for the operation for more information on the cause of this
728//   exception.
729//
730//   * NotFoundException
731//   Exception raised by AWS Elemental MediaConnect. See the error message and
732//   documentation for the operation for more information on the cause of this
733//   exception.
734//
735//   * ServiceUnavailableException
736//   Exception raised by AWS Elemental MediaConnect. See the error message and
737//   documentation for the operation for more information on the cause of this
738//   exception.
739//
740//   * TooManyRequestsException
741//   Exception raised by AWS Elemental MediaConnect. See the error message and
742//   documentation for the operation for more information on the cause of this
743//   exception.
744//
745// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DescribeFlow
746func (c *MediaConnect) DescribeFlow(input *DescribeFlowInput) (*DescribeFlowOutput, error) {
747	req, out := c.DescribeFlowRequest(input)
748	return out, req.Send()
749}
750
751// DescribeFlowWithContext is the same as DescribeFlow with the addition of
752// the ability to pass a context and additional request options.
753//
754// See DescribeFlow for details on how to use this API operation.
755//
756// The context must be non-nil and will be used for request cancellation. If
757// the context is nil a panic will occur. In the future the SDK may create
758// sub-contexts for http.Requests. See https://golang.org/pkg/context/
759// for more information on using Contexts.
760func (c *MediaConnect) DescribeFlowWithContext(ctx aws.Context, input *DescribeFlowInput, opts ...request.Option) (*DescribeFlowOutput, error) {
761	req, out := c.DescribeFlowRequest(input)
762	req.SetContext(ctx)
763	req.ApplyOptions(opts...)
764	return out, req.Send()
765}
766
767const opDescribeOffering = "DescribeOffering"
768
769// DescribeOfferingRequest generates a "aws/request.Request" representing the
770// client's request for the DescribeOffering operation. The "output" return
771// value will be populated with the request's response once the request completes
772// successfully.
773//
774// Use "Send" method on the returned Request to send the API call to the service.
775// the "output" return value is not valid until after Send returns without error.
776//
777// See DescribeOffering for more information on using the DescribeOffering
778// API call, and error handling.
779//
780// This method is useful when you want to inject custom logic or configuration
781// into the SDK's request lifecycle. Such as custom headers, or retry logic.
782//
783//
784//    // Example sending a request using the DescribeOfferingRequest method.
785//    req, resp := client.DescribeOfferingRequest(params)
786//
787//    err := req.Send()
788//    if err == nil { // resp is now filled
789//        fmt.Println(resp)
790//    }
791//
792// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DescribeOffering
793func (c *MediaConnect) DescribeOfferingRequest(input *DescribeOfferingInput) (req *request.Request, output *DescribeOfferingOutput) {
794	op := &request.Operation{
795		Name:       opDescribeOffering,
796		HTTPMethod: "GET",
797		HTTPPath:   "/v1/offerings/{offeringArn}",
798	}
799
800	if input == nil {
801		input = &DescribeOfferingInput{}
802	}
803
804	output = &DescribeOfferingOutput{}
805	req = c.newRequest(op, input, output)
806	return
807}
808
809// DescribeOffering API operation for AWS MediaConnect.
810//
811// Displays the details of an offering. The response includes the offering description,
812// duration, outbound bandwidth, price, and Amazon Resource Name (ARN).
813//
814// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
815// with awserr.Error's Code and Message methods to get detailed information about
816// the error.
817//
818// See the AWS API reference guide for AWS MediaConnect's
819// API operation DescribeOffering for usage and error information.
820//
821// Returned Error Types:
822//   * NotFoundException
823//   Exception raised by AWS Elemental MediaConnect. See the error message and
824//   documentation for the operation for more information on the cause of this
825//   exception.
826//
827//   * ServiceUnavailableException
828//   Exception raised by AWS Elemental MediaConnect. See the error message and
829//   documentation for the operation for more information on the cause of this
830//   exception.
831//
832//   * TooManyRequestsException
833//   Exception raised by AWS Elemental MediaConnect. See the error message and
834//   documentation for the operation for more information on the cause of this
835//   exception.
836//
837//   * BadRequestException
838//   Exception raised by AWS Elemental MediaConnect. See the error message and
839//   documentation for the operation for more information on the cause of this
840//   exception.
841//
842//   * InternalServerErrorException
843//   Exception raised by AWS Elemental MediaConnect. See the error message and
844//   documentation for the operation for more information on the cause of this
845//   exception.
846//
847// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DescribeOffering
848func (c *MediaConnect) DescribeOffering(input *DescribeOfferingInput) (*DescribeOfferingOutput, error) {
849	req, out := c.DescribeOfferingRequest(input)
850	return out, req.Send()
851}
852
853// DescribeOfferingWithContext is the same as DescribeOffering with the addition of
854// the ability to pass a context and additional request options.
855//
856// See DescribeOffering for details on how to use this API operation.
857//
858// The context must be non-nil and will be used for request cancellation. If
859// the context is nil a panic will occur. In the future the SDK may create
860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
861// for more information on using Contexts.
862func (c *MediaConnect) DescribeOfferingWithContext(ctx aws.Context, input *DescribeOfferingInput, opts ...request.Option) (*DescribeOfferingOutput, error) {
863	req, out := c.DescribeOfferingRequest(input)
864	req.SetContext(ctx)
865	req.ApplyOptions(opts...)
866	return out, req.Send()
867}
868
869const opDescribeReservation = "DescribeReservation"
870
871// DescribeReservationRequest generates a "aws/request.Request" representing the
872// client's request for the DescribeReservation operation. The "output" return
873// value will be populated with the request's response once the request completes
874// successfully.
875//
876// Use "Send" method on the returned Request to send the API call to the service.
877// the "output" return value is not valid until after Send returns without error.
878//
879// See DescribeReservation for more information on using the DescribeReservation
880// API call, and error handling.
881//
882// This method is useful when you want to inject custom logic or configuration
883// into the SDK's request lifecycle. Such as custom headers, or retry logic.
884//
885//
886//    // Example sending a request using the DescribeReservationRequest method.
887//    req, resp := client.DescribeReservationRequest(params)
888//
889//    err := req.Send()
890//    if err == nil { // resp is now filled
891//        fmt.Println(resp)
892//    }
893//
894// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DescribeReservation
895func (c *MediaConnect) DescribeReservationRequest(input *DescribeReservationInput) (req *request.Request, output *DescribeReservationOutput) {
896	op := &request.Operation{
897		Name:       opDescribeReservation,
898		HTTPMethod: "GET",
899		HTTPPath:   "/v1/reservations/{reservationArn}",
900	}
901
902	if input == nil {
903		input = &DescribeReservationInput{}
904	}
905
906	output = &DescribeReservationOutput{}
907	req = c.newRequest(op, input, output)
908	return
909}
910
911// DescribeReservation API operation for AWS MediaConnect.
912//
913// Displays the details of a reservation. The response includes the reservation
914// name, state, start date and time, and the details of the offering that make
915// up the rest of the reservation (such as price, duration, and outbound bandwidth).
916//
917// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
918// with awserr.Error's Code and Message methods to get detailed information about
919// the error.
920//
921// See the AWS API reference guide for AWS MediaConnect's
922// API operation DescribeReservation for usage and error information.
923//
924// Returned Error Types:
925//   * NotFoundException
926//   Exception raised by AWS Elemental MediaConnect. See the error message and
927//   documentation for the operation for more information on the cause of this
928//   exception.
929//
930//   * ServiceUnavailableException
931//   Exception raised by AWS Elemental MediaConnect. See the error message and
932//   documentation for the operation for more information on the cause of this
933//   exception.
934//
935//   * TooManyRequestsException
936//   Exception raised by AWS Elemental MediaConnect. See the error message and
937//   documentation for the operation for more information on the cause of this
938//   exception.
939//
940//   * BadRequestException
941//   Exception raised by AWS Elemental MediaConnect. See the error message and
942//   documentation for the operation for more information on the cause of this
943//   exception.
944//
945//   * InternalServerErrorException
946//   Exception raised by AWS Elemental MediaConnect. See the error message and
947//   documentation for the operation for more information on the cause of this
948//   exception.
949//
950// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DescribeReservation
951func (c *MediaConnect) DescribeReservation(input *DescribeReservationInput) (*DescribeReservationOutput, error) {
952	req, out := c.DescribeReservationRequest(input)
953	return out, req.Send()
954}
955
956// DescribeReservationWithContext is the same as DescribeReservation with the addition of
957// the ability to pass a context and additional request options.
958//
959// See DescribeReservation for details on how to use this API operation.
960//
961// The context must be non-nil and will be used for request cancellation. If
962// the context is nil a panic will occur. In the future the SDK may create
963// sub-contexts for http.Requests. See https://golang.org/pkg/context/
964// for more information on using Contexts.
965func (c *MediaConnect) DescribeReservationWithContext(ctx aws.Context, input *DescribeReservationInput, opts ...request.Option) (*DescribeReservationOutput, error) {
966	req, out := c.DescribeReservationRequest(input)
967	req.SetContext(ctx)
968	req.ApplyOptions(opts...)
969	return out, req.Send()
970}
971
972const opGrantFlowEntitlements = "GrantFlowEntitlements"
973
974// GrantFlowEntitlementsRequest generates a "aws/request.Request" representing the
975// client's request for the GrantFlowEntitlements operation. The "output" return
976// value will be populated with the request's response once the request completes
977// successfully.
978//
979// Use "Send" method on the returned Request to send the API call to the service.
980// the "output" return value is not valid until after Send returns without error.
981//
982// See GrantFlowEntitlements for more information on using the GrantFlowEntitlements
983// API call, and error handling.
984//
985// This method is useful when you want to inject custom logic or configuration
986// into the SDK's request lifecycle. Such as custom headers, or retry logic.
987//
988//
989//    // Example sending a request using the GrantFlowEntitlementsRequest method.
990//    req, resp := client.GrantFlowEntitlementsRequest(params)
991//
992//    err := req.Send()
993//    if err == nil { // resp is now filled
994//        fmt.Println(resp)
995//    }
996//
997// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/GrantFlowEntitlements
998func (c *MediaConnect) GrantFlowEntitlementsRequest(input *GrantFlowEntitlementsInput) (req *request.Request, output *GrantFlowEntitlementsOutput) {
999	op := &request.Operation{
1000		Name:       opGrantFlowEntitlements,
1001		HTTPMethod: "POST",
1002		HTTPPath:   "/v1/flows/{flowArn}/entitlements",
1003	}
1004
1005	if input == nil {
1006		input = &GrantFlowEntitlementsInput{}
1007	}
1008
1009	output = &GrantFlowEntitlementsOutput{}
1010	req = c.newRequest(op, input, output)
1011	return
1012}
1013
1014// GrantFlowEntitlements API operation for AWS MediaConnect.
1015//
1016// Grants entitlements to an existing flow.
1017//
1018// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1019// with awserr.Error's Code and Message methods to get detailed information about
1020// the error.
1021//
1022// See the AWS API reference guide for AWS MediaConnect's
1023// API operation GrantFlowEntitlements for usage and error information.
1024//
1025// Returned Error Types:
1026//   * GrantFlowEntitlements420Exception
1027//   Exception raised by AWS Elemental MediaConnect. See the error message and
1028//   documentation for the operation for more information on the cause of this
1029//   exception.
1030//
1031//   * BadRequestException
1032//   Exception raised by AWS Elemental MediaConnect. See the error message and
1033//   documentation for the operation for more information on the cause of this
1034//   exception.
1035//
1036//   * InternalServerErrorException
1037//   Exception raised by AWS Elemental MediaConnect. See the error message and
1038//   documentation for the operation for more information on the cause of this
1039//   exception.
1040//
1041//   * ForbiddenException
1042//   Exception raised by AWS Elemental MediaConnect. See the error message and
1043//   documentation for the operation for more information on the cause of this
1044//   exception.
1045//
1046//   * NotFoundException
1047//   Exception raised by AWS Elemental MediaConnect. See the error message and
1048//   documentation for the operation for more information on the cause of this
1049//   exception.
1050//
1051//   * ServiceUnavailableException
1052//   Exception raised by AWS Elemental MediaConnect. See the error message and
1053//   documentation for the operation for more information on the cause of this
1054//   exception.
1055//
1056//   * TooManyRequestsException
1057//   Exception raised by AWS Elemental MediaConnect. See the error message and
1058//   documentation for the operation for more information on the cause of this
1059//   exception.
1060//
1061// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/GrantFlowEntitlements
1062func (c *MediaConnect) GrantFlowEntitlements(input *GrantFlowEntitlementsInput) (*GrantFlowEntitlementsOutput, error) {
1063	req, out := c.GrantFlowEntitlementsRequest(input)
1064	return out, req.Send()
1065}
1066
1067// GrantFlowEntitlementsWithContext is the same as GrantFlowEntitlements with the addition of
1068// the ability to pass a context and additional request options.
1069//
1070// See GrantFlowEntitlements for details on how to use this API operation.
1071//
1072// The context must be non-nil and will be used for request cancellation. If
1073// the context is nil a panic will occur. In the future the SDK may create
1074// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1075// for more information on using Contexts.
1076func (c *MediaConnect) GrantFlowEntitlementsWithContext(ctx aws.Context, input *GrantFlowEntitlementsInput, opts ...request.Option) (*GrantFlowEntitlementsOutput, error) {
1077	req, out := c.GrantFlowEntitlementsRequest(input)
1078	req.SetContext(ctx)
1079	req.ApplyOptions(opts...)
1080	return out, req.Send()
1081}
1082
1083const opListEntitlements = "ListEntitlements"
1084
1085// ListEntitlementsRequest generates a "aws/request.Request" representing the
1086// client's request for the ListEntitlements operation. The "output" return
1087// value will be populated with the request's response once the request completes
1088// successfully.
1089//
1090// Use "Send" method on the returned Request to send the API call to the service.
1091// the "output" return value is not valid until after Send returns without error.
1092//
1093// See ListEntitlements for more information on using the ListEntitlements
1094// API call, and error handling.
1095//
1096// This method is useful when you want to inject custom logic or configuration
1097// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1098//
1099//
1100//    // Example sending a request using the ListEntitlementsRequest method.
1101//    req, resp := client.ListEntitlementsRequest(params)
1102//
1103//    err := req.Send()
1104//    if err == nil { // resp is now filled
1105//        fmt.Println(resp)
1106//    }
1107//
1108// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListEntitlements
1109func (c *MediaConnect) ListEntitlementsRequest(input *ListEntitlementsInput) (req *request.Request, output *ListEntitlementsOutput) {
1110	op := &request.Operation{
1111		Name:       opListEntitlements,
1112		HTTPMethod: "GET",
1113		HTTPPath:   "/v1/entitlements",
1114		Paginator: &request.Paginator{
1115			InputTokens:     []string{"NextToken"},
1116			OutputTokens:    []string{"NextToken"},
1117			LimitToken:      "MaxResults",
1118			TruncationToken: "",
1119		},
1120	}
1121
1122	if input == nil {
1123		input = &ListEntitlementsInput{}
1124	}
1125
1126	output = &ListEntitlementsOutput{}
1127	req = c.newRequest(op, input, output)
1128	return
1129}
1130
1131// ListEntitlements API operation for AWS MediaConnect.
1132//
1133// Displays a list of all entitlements that have been granted to this account.
1134// This request returns 20 results per page.
1135//
1136// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1137// with awserr.Error's Code and Message methods to get detailed information about
1138// the error.
1139//
1140// See the AWS API reference guide for AWS MediaConnect's
1141// API operation ListEntitlements for usage and error information.
1142//
1143// Returned Error Types:
1144//   * ServiceUnavailableException
1145//   Exception raised by AWS Elemental MediaConnect. See the error message and
1146//   documentation for the operation for more information on the cause of this
1147//   exception.
1148//
1149//   * TooManyRequestsException
1150//   Exception raised by AWS Elemental MediaConnect. See the error message and
1151//   documentation for the operation for more information on the cause of this
1152//   exception.
1153//
1154//   * BadRequestException
1155//   Exception raised by AWS Elemental MediaConnect. See the error message and
1156//   documentation for the operation for more information on the cause of this
1157//   exception.
1158//
1159//   * InternalServerErrorException
1160//   Exception raised by AWS Elemental MediaConnect. See the error message and
1161//   documentation for the operation for more information on the cause of this
1162//   exception.
1163//
1164// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListEntitlements
1165func (c *MediaConnect) ListEntitlements(input *ListEntitlementsInput) (*ListEntitlementsOutput, error) {
1166	req, out := c.ListEntitlementsRequest(input)
1167	return out, req.Send()
1168}
1169
1170// ListEntitlementsWithContext is the same as ListEntitlements with the addition of
1171// the ability to pass a context and additional request options.
1172//
1173// See ListEntitlements for details on how to use this API operation.
1174//
1175// The context must be non-nil and will be used for request cancellation. If
1176// the context is nil a panic will occur. In the future the SDK may create
1177// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1178// for more information on using Contexts.
1179func (c *MediaConnect) ListEntitlementsWithContext(ctx aws.Context, input *ListEntitlementsInput, opts ...request.Option) (*ListEntitlementsOutput, error) {
1180	req, out := c.ListEntitlementsRequest(input)
1181	req.SetContext(ctx)
1182	req.ApplyOptions(opts...)
1183	return out, req.Send()
1184}
1185
1186// ListEntitlementsPages iterates over the pages of a ListEntitlements operation,
1187// calling the "fn" function with the response data for each page. To stop
1188// iterating, return false from the fn function.
1189//
1190// See ListEntitlements method for more information on how to use this operation.
1191//
1192// Note: This operation can generate multiple requests to a service.
1193//
1194//    // Example iterating over at most 3 pages of a ListEntitlements operation.
1195//    pageNum := 0
1196//    err := client.ListEntitlementsPages(params,
1197//        func(page *mediaconnect.ListEntitlementsOutput, lastPage bool) bool {
1198//            pageNum++
1199//            fmt.Println(page)
1200//            return pageNum <= 3
1201//        })
1202//
1203func (c *MediaConnect) ListEntitlementsPages(input *ListEntitlementsInput, fn func(*ListEntitlementsOutput, bool) bool) error {
1204	return c.ListEntitlementsPagesWithContext(aws.BackgroundContext(), input, fn)
1205}
1206
1207// ListEntitlementsPagesWithContext same as ListEntitlementsPages except
1208// it takes a Context and allows setting request options on the pages.
1209//
1210// The context must be non-nil and will be used for request cancellation. If
1211// the context is nil a panic will occur. In the future the SDK may create
1212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1213// for more information on using Contexts.
1214func (c *MediaConnect) ListEntitlementsPagesWithContext(ctx aws.Context, input *ListEntitlementsInput, fn func(*ListEntitlementsOutput, bool) bool, opts ...request.Option) error {
1215	p := request.Pagination{
1216		NewRequest: func() (*request.Request, error) {
1217			var inCpy *ListEntitlementsInput
1218			if input != nil {
1219				tmp := *input
1220				inCpy = &tmp
1221			}
1222			req, _ := c.ListEntitlementsRequest(inCpy)
1223			req.SetContext(ctx)
1224			req.ApplyOptions(opts...)
1225			return req, nil
1226		},
1227	}
1228
1229	for p.Next() {
1230		if !fn(p.Page().(*ListEntitlementsOutput), !p.HasNextPage()) {
1231			break
1232		}
1233	}
1234
1235	return p.Err()
1236}
1237
1238const opListFlows = "ListFlows"
1239
1240// ListFlowsRequest generates a "aws/request.Request" representing the
1241// client's request for the ListFlows operation. The "output" return
1242// value will be populated with the request's response once the request completes
1243// successfully.
1244//
1245// Use "Send" method on the returned Request to send the API call to the service.
1246// the "output" return value is not valid until after Send returns without error.
1247//
1248// See ListFlows for more information on using the ListFlows
1249// API call, and error handling.
1250//
1251// This method is useful when you want to inject custom logic or configuration
1252// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1253//
1254//
1255//    // Example sending a request using the ListFlowsRequest method.
1256//    req, resp := client.ListFlowsRequest(params)
1257//
1258//    err := req.Send()
1259//    if err == nil { // resp is now filled
1260//        fmt.Println(resp)
1261//    }
1262//
1263// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListFlows
1264func (c *MediaConnect) ListFlowsRequest(input *ListFlowsInput) (req *request.Request, output *ListFlowsOutput) {
1265	op := &request.Operation{
1266		Name:       opListFlows,
1267		HTTPMethod: "GET",
1268		HTTPPath:   "/v1/flows",
1269		Paginator: &request.Paginator{
1270			InputTokens:     []string{"NextToken"},
1271			OutputTokens:    []string{"NextToken"},
1272			LimitToken:      "MaxResults",
1273			TruncationToken: "",
1274		},
1275	}
1276
1277	if input == nil {
1278		input = &ListFlowsInput{}
1279	}
1280
1281	output = &ListFlowsOutput{}
1282	req = c.newRequest(op, input, output)
1283	return
1284}
1285
1286// ListFlows API operation for AWS MediaConnect.
1287//
1288// Displays a list of flows that are associated with this account. This request
1289// returns a paginated result.
1290//
1291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1292// with awserr.Error's Code and Message methods to get detailed information about
1293// the error.
1294//
1295// See the AWS API reference guide for AWS MediaConnect's
1296// API operation ListFlows for usage and error information.
1297//
1298// Returned Error Types:
1299//   * ServiceUnavailableException
1300//   Exception raised by AWS Elemental MediaConnect. See the error message and
1301//   documentation for the operation for more information on the cause of this
1302//   exception.
1303//
1304//   * TooManyRequestsException
1305//   Exception raised by AWS Elemental MediaConnect. See the error message and
1306//   documentation for the operation for more information on the cause of this
1307//   exception.
1308//
1309//   * BadRequestException
1310//   Exception raised by AWS Elemental MediaConnect. See the error message and
1311//   documentation for the operation for more information on the cause of this
1312//   exception.
1313//
1314//   * InternalServerErrorException
1315//   Exception raised by AWS Elemental MediaConnect. See the error message and
1316//   documentation for the operation for more information on the cause of this
1317//   exception.
1318//
1319// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListFlows
1320func (c *MediaConnect) ListFlows(input *ListFlowsInput) (*ListFlowsOutput, error) {
1321	req, out := c.ListFlowsRequest(input)
1322	return out, req.Send()
1323}
1324
1325// ListFlowsWithContext is the same as ListFlows with the addition of
1326// the ability to pass a context and additional request options.
1327//
1328// See ListFlows for details on how to use this API operation.
1329//
1330// The context must be non-nil and will be used for request cancellation. If
1331// the context is nil a panic will occur. In the future the SDK may create
1332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1333// for more information on using Contexts.
1334func (c *MediaConnect) ListFlowsWithContext(ctx aws.Context, input *ListFlowsInput, opts ...request.Option) (*ListFlowsOutput, error) {
1335	req, out := c.ListFlowsRequest(input)
1336	req.SetContext(ctx)
1337	req.ApplyOptions(opts...)
1338	return out, req.Send()
1339}
1340
1341// ListFlowsPages iterates over the pages of a ListFlows operation,
1342// calling the "fn" function with the response data for each page. To stop
1343// iterating, return false from the fn function.
1344//
1345// See ListFlows method for more information on how to use this operation.
1346//
1347// Note: This operation can generate multiple requests to a service.
1348//
1349//    // Example iterating over at most 3 pages of a ListFlows operation.
1350//    pageNum := 0
1351//    err := client.ListFlowsPages(params,
1352//        func(page *mediaconnect.ListFlowsOutput, lastPage bool) bool {
1353//            pageNum++
1354//            fmt.Println(page)
1355//            return pageNum <= 3
1356//        })
1357//
1358func (c *MediaConnect) ListFlowsPages(input *ListFlowsInput, fn func(*ListFlowsOutput, bool) bool) error {
1359	return c.ListFlowsPagesWithContext(aws.BackgroundContext(), input, fn)
1360}
1361
1362// ListFlowsPagesWithContext same as ListFlowsPages except
1363// it takes a Context and allows setting request options on the pages.
1364//
1365// The context must be non-nil and will be used for request cancellation. If
1366// the context is nil a panic will occur. In the future the SDK may create
1367// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1368// for more information on using Contexts.
1369func (c *MediaConnect) ListFlowsPagesWithContext(ctx aws.Context, input *ListFlowsInput, fn func(*ListFlowsOutput, bool) bool, opts ...request.Option) error {
1370	p := request.Pagination{
1371		NewRequest: func() (*request.Request, error) {
1372			var inCpy *ListFlowsInput
1373			if input != nil {
1374				tmp := *input
1375				inCpy = &tmp
1376			}
1377			req, _ := c.ListFlowsRequest(inCpy)
1378			req.SetContext(ctx)
1379			req.ApplyOptions(opts...)
1380			return req, nil
1381		},
1382	}
1383
1384	for p.Next() {
1385		if !fn(p.Page().(*ListFlowsOutput), !p.HasNextPage()) {
1386			break
1387		}
1388	}
1389
1390	return p.Err()
1391}
1392
1393const opListOfferings = "ListOfferings"
1394
1395// ListOfferingsRequest generates a "aws/request.Request" representing the
1396// client's request for the ListOfferings operation. The "output" return
1397// value will be populated with the request's response once the request completes
1398// successfully.
1399//
1400// Use "Send" method on the returned Request to send the API call to the service.
1401// the "output" return value is not valid until after Send returns without error.
1402//
1403// See ListOfferings for more information on using the ListOfferings
1404// API call, and error handling.
1405//
1406// This method is useful when you want to inject custom logic or configuration
1407// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1408//
1409//
1410//    // Example sending a request using the ListOfferingsRequest method.
1411//    req, resp := client.ListOfferingsRequest(params)
1412//
1413//    err := req.Send()
1414//    if err == nil { // resp is now filled
1415//        fmt.Println(resp)
1416//    }
1417//
1418// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListOfferings
1419func (c *MediaConnect) ListOfferingsRequest(input *ListOfferingsInput) (req *request.Request, output *ListOfferingsOutput) {
1420	op := &request.Operation{
1421		Name:       opListOfferings,
1422		HTTPMethod: "GET",
1423		HTTPPath:   "/v1/offerings",
1424		Paginator: &request.Paginator{
1425			InputTokens:     []string{"NextToken"},
1426			OutputTokens:    []string{"NextToken"},
1427			LimitToken:      "MaxResults",
1428			TruncationToken: "",
1429		},
1430	}
1431
1432	if input == nil {
1433		input = &ListOfferingsInput{}
1434	}
1435
1436	output = &ListOfferingsOutput{}
1437	req = c.newRequest(op, input, output)
1438	return
1439}
1440
1441// ListOfferings API operation for AWS MediaConnect.
1442//
1443// Displays a list of all offerings that are available to this account in the
1444// current AWS Region. If you have an active reservation (which means you've
1445// purchased an offering that has already started and hasn't expired yet), your
1446// account isn't eligible for other offerings.
1447//
1448// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1449// with awserr.Error's Code and Message methods to get detailed information about
1450// the error.
1451//
1452// See the AWS API reference guide for AWS MediaConnect's
1453// API operation ListOfferings for usage and error information.
1454//
1455// Returned Error Types:
1456//   * ServiceUnavailableException
1457//   Exception raised by AWS Elemental MediaConnect. See the error message and
1458//   documentation for the operation for more information on the cause of this
1459//   exception.
1460//
1461//   * TooManyRequestsException
1462//   Exception raised by AWS Elemental MediaConnect. See the error message and
1463//   documentation for the operation for more information on the cause of this
1464//   exception.
1465//
1466//   * BadRequestException
1467//   Exception raised by AWS Elemental MediaConnect. See the error message and
1468//   documentation for the operation for more information on the cause of this
1469//   exception.
1470//
1471//   * InternalServerErrorException
1472//   Exception raised by AWS Elemental MediaConnect. See the error message and
1473//   documentation for the operation for more information on the cause of this
1474//   exception.
1475//
1476// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListOfferings
1477func (c *MediaConnect) ListOfferings(input *ListOfferingsInput) (*ListOfferingsOutput, error) {
1478	req, out := c.ListOfferingsRequest(input)
1479	return out, req.Send()
1480}
1481
1482// ListOfferingsWithContext is the same as ListOfferings with the addition of
1483// the ability to pass a context and additional request options.
1484//
1485// See ListOfferings for details on how to use this API operation.
1486//
1487// The context must be non-nil and will be used for request cancellation. If
1488// the context is nil a panic will occur. In the future the SDK may create
1489// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1490// for more information on using Contexts.
1491func (c *MediaConnect) ListOfferingsWithContext(ctx aws.Context, input *ListOfferingsInput, opts ...request.Option) (*ListOfferingsOutput, error) {
1492	req, out := c.ListOfferingsRequest(input)
1493	req.SetContext(ctx)
1494	req.ApplyOptions(opts...)
1495	return out, req.Send()
1496}
1497
1498// ListOfferingsPages iterates over the pages of a ListOfferings operation,
1499// calling the "fn" function with the response data for each page. To stop
1500// iterating, return false from the fn function.
1501//
1502// See ListOfferings method for more information on how to use this operation.
1503//
1504// Note: This operation can generate multiple requests to a service.
1505//
1506//    // Example iterating over at most 3 pages of a ListOfferings operation.
1507//    pageNum := 0
1508//    err := client.ListOfferingsPages(params,
1509//        func(page *mediaconnect.ListOfferingsOutput, lastPage bool) bool {
1510//            pageNum++
1511//            fmt.Println(page)
1512//            return pageNum <= 3
1513//        })
1514//
1515func (c *MediaConnect) ListOfferingsPages(input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool) error {
1516	return c.ListOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
1517}
1518
1519// ListOfferingsPagesWithContext same as ListOfferingsPages except
1520// it takes a Context and allows setting request options on the pages.
1521//
1522// The context must be non-nil and will be used for request cancellation. If
1523// the context is nil a panic will occur. In the future the SDK may create
1524// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1525// for more information on using Contexts.
1526func (c *MediaConnect) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool, opts ...request.Option) error {
1527	p := request.Pagination{
1528		NewRequest: func() (*request.Request, error) {
1529			var inCpy *ListOfferingsInput
1530			if input != nil {
1531				tmp := *input
1532				inCpy = &tmp
1533			}
1534			req, _ := c.ListOfferingsRequest(inCpy)
1535			req.SetContext(ctx)
1536			req.ApplyOptions(opts...)
1537			return req, nil
1538		},
1539	}
1540
1541	for p.Next() {
1542		if !fn(p.Page().(*ListOfferingsOutput), !p.HasNextPage()) {
1543			break
1544		}
1545	}
1546
1547	return p.Err()
1548}
1549
1550const opListReservations = "ListReservations"
1551
1552// ListReservationsRequest generates a "aws/request.Request" representing the
1553// client's request for the ListReservations operation. The "output" return
1554// value will be populated with the request's response once the request completes
1555// successfully.
1556//
1557// Use "Send" method on the returned Request to send the API call to the service.
1558// the "output" return value is not valid until after Send returns without error.
1559//
1560// See ListReservations for more information on using the ListReservations
1561// API call, and error handling.
1562//
1563// This method is useful when you want to inject custom logic or configuration
1564// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1565//
1566//
1567//    // Example sending a request using the ListReservationsRequest method.
1568//    req, resp := client.ListReservationsRequest(params)
1569//
1570//    err := req.Send()
1571//    if err == nil { // resp is now filled
1572//        fmt.Println(resp)
1573//    }
1574//
1575// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListReservations
1576func (c *MediaConnect) ListReservationsRequest(input *ListReservationsInput) (req *request.Request, output *ListReservationsOutput) {
1577	op := &request.Operation{
1578		Name:       opListReservations,
1579		HTTPMethod: "GET",
1580		HTTPPath:   "/v1/reservations",
1581		Paginator: &request.Paginator{
1582			InputTokens:     []string{"NextToken"},
1583			OutputTokens:    []string{"NextToken"},
1584			LimitToken:      "MaxResults",
1585			TruncationToken: "",
1586		},
1587	}
1588
1589	if input == nil {
1590		input = &ListReservationsInput{}
1591	}
1592
1593	output = &ListReservationsOutput{}
1594	req = c.newRequest(op, input, output)
1595	return
1596}
1597
1598// ListReservations API operation for AWS MediaConnect.
1599//
1600// Displays a list of all reservations that have been purchased by this account
1601// in the current AWS Region. This list includes all reservations in all states
1602// (such as active and expired).
1603//
1604// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1605// with awserr.Error's Code and Message methods to get detailed information about
1606// the error.
1607//
1608// See the AWS API reference guide for AWS MediaConnect's
1609// API operation ListReservations for usage and error information.
1610//
1611// Returned Error Types:
1612//   * ServiceUnavailableException
1613//   Exception raised by AWS Elemental MediaConnect. See the error message and
1614//   documentation for the operation for more information on the cause of this
1615//   exception.
1616//
1617//   * TooManyRequestsException
1618//   Exception raised by AWS Elemental MediaConnect. See the error message and
1619//   documentation for the operation for more information on the cause of this
1620//   exception.
1621//
1622//   * BadRequestException
1623//   Exception raised by AWS Elemental MediaConnect. See the error message and
1624//   documentation for the operation for more information on the cause of this
1625//   exception.
1626//
1627//   * InternalServerErrorException
1628//   Exception raised by AWS Elemental MediaConnect. See the error message and
1629//   documentation for the operation for more information on the cause of this
1630//   exception.
1631//
1632// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListReservations
1633func (c *MediaConnect) ListReservations(input *ListReservationsInput) (*ListReservationsOutput, error) {
1634	req, out := c.ListReservationsRequest(input)
1635	return out, req.Send()
1636}
1637
1638// ListReservationsWithContext is the same as ListReservations with the addition of
1639// the ability to pass a context and additional request options.
1640//
1641// See ListReservations for details on how to use this API operation.
1642//
1643// The context must be non-nil and will be used for request cancellation. If
1644// the context is nil a panic will occur. In the future the SDK may create
1645// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1646// for more information on using Contexts.
1647func (c *MediaConnect) ListReservationsWithContext(ctx aws.Context, input *ListReservationsInput, opts ...request.Option) (*ListReservationsOutput, error) {
1648	req, out := c.ListReservationsRequest(input)
1649	req.SetContext(ctx)
1650	req.ApplyOptions(opts...)
1651	return out, req.Send()
1652}
1653
1654// ListReservationsPages iterates over the pages of a ListReservations operation,
1655// calling the "fn" function with the response data for each page. To stop
1656// iterating, return false from the fn function.
1657//
1658// See ListReservations method for more information on how to use this operation.
1659//
1660// Note: This operation can generate multiple requests to a service.
1661//
1662//    // Example iterating over at most 3 pages of a ListReservations operation.
1663//    pageNum := 0
1664//    err := client.ListReservationsPages(params,
1665//        func(page *mediaconnect.ListReservationsOutput, lastPage bool) bool {
1666//            pageNum++
1667//            fmt.Println(page)
1668//            return pageNum <= 3
1669//        })
1670//
1671func (c *MediaConnect) ListReservationsPages(input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool) error {
1672	return c.ListReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
1673}
1674
1675// ListReservationsPagesWithContext same as ListReservationsPages except
1676// it takes a Context and allows setting request options on the pages.
1677//
1678// The context must be non-nil and will be used for request cancellation. If
1679// the context is nil a panic will occur. In the future the SDK may create
1680// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1681// for more information on using Contexts.
1682func (c *MediaConnect) ListReservationsPagesWithContext(ctx aws.Context, input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool, opts ...request.Option) error {
1683	p := request.Pagination{
1684		NewRequest: func() (*request.Request, error) {
1685			var inCpy *ListReservationsInput
1686			if input != nil {
1687				tmp := *input
1688				inCpy = &tmp
1689			}
1690			req, _ := c.ListReservationsRequest(inCpy)
1691			req.SetContext(ctx)
1692			req.ApplyOptions(opts...)
1693			return req, nil
1694		},
1695	}
1696
1697	for p.Next() {
1698		if !fn(p.Page().(*ListReservationsOutput), !p.HasNextPage()) {
1699			break
1700		}
1701	}
1702
1703	return p.Err()
1704}
1705
1706const opListTagsForResource = "ListTagsForResource"
1707
1708// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1709// client's request for the ListTagsForResource operation. The "output" return
1710// value will be populated with the request's response once the request completes
1711// successfully.
1712//
1713// Use "Send" method on the returned Request to send the API call to the service.
1714// the "output" return value is not valid until after Send returns without error.
1715//
1716// See ListTagsForResource for more information on using the ListTagsForResource
1717// API call, and error handling.
1718//
1719// This method is useful when you want to inject custom logic or configuration
1720// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1721//
1722//
1723//    // Example sending a request using the ListTagsForResourceRequest method.
1724//    req, resp := client.ListTagsForResourceRequest(params)
1725//
1726//    err := req.Send()
1727//    if err == nil { // resp is now filled
1728//        fmt.Println(resp)
1729//    }
1730//
1731// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListTagsForResource
1732func (c *MediaConnect) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1733	op := &request.Operation{
1734		Name:       opListTagsForResource,
1735		HTTPMethod: "GET",
1736		HTTPPath:   "/tags/{resourceArn}",
1737	}
1738
1739	if input == nil {
1740		input = &ListTagsForResourceInput{}
1741	}
1742
1743	output = &ListTagsForResourceOutput{}
1744	req = c.newRequest(op, input, output)
1745	return
1746}
1747
1748// ListTagsForResource API operation for AWS MediaConnect.
1749//
1750// List all tags on an AWS Elemental MediaConnect resource
1751//
1752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1753// with awserr.Error's Code and Message methods to get detailed information about
1754// the error.
1755//
1756// See the AWS API reference guide for AWS MediaConnect's
1757// API operation ListTagsForResource for usage and error information.
1758//
1759// Returned Error Types:
1760//   * NotFoundException
1761//   Exception raised by AWS Elemental MediaConnect. See the error message and
1762//   documentation for the operation for more information on the cause of this
1763//   exception.
1764//
1765//   * BadRequestException
1766//   Exception raised by AWS Elemental MediaConnect. See the error message and
1767//   documentation for the operation for more information on the cause of this
1768//   exception.
1769//
1770//   * InternalServerErrorException
1771//   Exception raised by AWS Elemental MediaConnect. See the error message and
1772//   documentation for the operation for more information on the cause of this
1773//   exception.
1774//
1775// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListTagsForResource
1776func (c *MediaConnect) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
1777	req, out := c.ListTagsForResourceRequest(input)
1778	return out, req.Send()
1779}
1780
1781// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
1782// the ability to pass a context and additional request options.
1783//
1784// See ListTagsForResource for details on how to use this API operation.
1785//
1786// The context must be non-nil and will be used for request cancellation. If
1787// the context is nil a panic will occur. In the future the SDK may create
1788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1789// for more information on using Contexts.
1790func (c *MediaConnect) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
1791	req, out := c.ListTagsForResourceRequest(input)
1792	req.SetContext(ctx)
1793	req.ApplyOptions(opts...)
1794	return out, req.Send()
1795}
1796
1797const opPurchaseOffering = "PurchaseOffering"
1798
1799// PurchaseOfferingRequest generates a "aws/request.Request" representing the
1800// client's request for the PurchaseOffering operation. The "output" return
1801// value will be populated with the request's response once the request completes
1802// successfully.
1803//
1804// Use "Send" method on the returned Request to send the API call to the service.
1805// the "output" return value is not valid until after Send returns without error.
1806//
1807// See PurchaseOffering for more information on using the PurchaseOffering
1808// API call, and error handling.
1809//
1810// This method is useful when you want to inject custom logic or configuration
1811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1812//
1813//
1814//    // Example sending a request using the PurchaseOfferingRequest method.
1815//    req, resp := client.PurchaseOfferingRequest(params)
1816//
1817//    err := req.Send()
1818//    if err == nil { // resp is now filled
1819//        fmt.Println(resp)
1820//    }
1821//
1822// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/PurchaseOffering
1823func (c *MediaConnect) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req *request.Request, output *PurchaseOfferingOutput) {
1824	op := &request.Operation{
1825		Name:       opPurchaseOffering,
1826		HTTPMethod: "POST",
1827		HTTPPath:   "/v1/offerings/{offeringArn}",
1828	}
1829
1830	if input == nil {
1831		input = &PurchaseOfferingInput{}
1832	}
1833
1834	output = &PurchaseOfferingOutput{}
1835	req = c.newRequest(op, input, output)
1836	return
1837}
1838
1839// PurchaseOffering API operation for AWS MediaConnect.
1840//
1841// Submits a request to purchase an offering. If you already have an active
1842// reservation, you can't purchase another offering.
1843//
1844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1845// with awserr.Error's Code and Message methods to get detailed information about
1846// the error.
1847//
1848// See the AWS API reference guide for AWS MediaConnect's
1849// API operation PurchaseOffering for usage and error information.
1850//
1851// Returned Error Types:
1852//   * BadRequestException
1853//   Exception raised by AWS Elemental MediaConnect. See the error message and
1854//   documentation for the operation for more information on the cause of this
1855//   exception.
1856//
1857//   * InternalServerErrorException
1858//   Exception raised by AWS Elemental MediaConnect. See the error message and
1859//   documentation for the operation for more information on the cause of this
1860//   exception.
1861//
1862//   * ForbiddenException
1863//   Exception raised by AWS Elemental MediaConnect. See the error message and
1864//   documentation for the operation for more information on the cause of this
1865//   exception.
1866//
1867//   * NotFoundException
1868//   Exception raised by AWS Elemental MediaConnect. See the error message and
1869//   documentation for the operation for more information on the cause of this
1870//   exception.
1871//
1872//   * ServiceUnavailableException
1873//   Exception raised by AWS Elemental MediaConnect. See the error message and
1874//   documentation for the operation for more information on the cause of this
1875//   exception.
1876//
1877//   * TooManyRequestsException
1878//   Exception raised by AWS Elemental MediaConnect. See the error message and
1879//   documentation for the operation for more information on the cause of this
1880//   exception.
1881//
1882// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/PurchaseOffering
1883func (c *MediaConnect) PurchaseOffering(input *PurchaseOfferingInput) (*PurchaseOfferingOutput, error) {
1884	req, out := c.PurchaseOfferingRequest(input)
1885	return out, req.Send()
1886}
1887
1888// PurchaseOfferingWithContext is the same as PurchaseOffering with the addition of
1889// the ability to pass a context and additional request options.
1890//
1891// See PurchaseOffering for details on how to use this API operation.
1892//
1893// The context must be non-nil and will be used for request cancellation. If
1894// the context is nil a panic will occur. In the future the SDK may create
1895// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1896// for more information on using Contexts.
1897func (c *MediaConnect) PurchaseOfferingWithContext(ctx aws.Context, input *PurchaseOfferingInput, opts ...request.Option) (*PurchaseOfferingOutput, error) {
1898	req, out := c.PurchaseOfferingRequest(input)
1899	req.SetContext(ctx)
1900	req.ApplyOptions(opts...)
1901	return out, req.Send()
1902}
1903
1904const opRemoveFlowMediaStream = "RemoveFlowMediaStream"
1905
1906// RemoveFlowMediaStreamRequest generates a "aws/request.Request" representing the
1907// client's request for the RemoveFlowMediaStream operation. The "output" return
1908// value will be populated with the request's response once the request completes
1909// successfully.
1910//
1911// Use "Send" method on the returned Request to send the API call to the service.
1912// the "output" return value is not valid until after Send returns without error.
1913//
1914// See RemoveFlowMediaStream for more information on using the RemoveFlowMediaStream
1915// API call, and error handling.
1916//
1917// This method is useful when you want to inject custom logic or configuration
1918// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1919//
1920//
1921//    // Example sending a request using the RemoveFlowMediaStreamRequest method.
1922//    req, resp := client.RemoveFlowMediaStreamRequest(params)
1923//
1924//    err := req.Send()
1925//    if err == nil { // resp is now filled
1926//        fmt.Println(resp)
1927//    }
1928//
1929// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowMediaStream
1930func (c *MediaConnect) RemoveFlowMediaStreamRequest(input *RemoveFlowMediaStreamInput) (req *request.Request, output *RemoveFlowMediaStreamOutput) {
1931	op := &request.Operation{
1932		Name:       opRemoveFlowMediaStream,
1933		HTTPMethod: "DELETE",
1934		HTTPPath:   "/v1/flows/{flowArn}/mediaStreams/{mediaStreamName}",
1935	}
1936
1937	if input == nil {
1938		input = &RemoveFlowMediaStreamInput{}
1939	}
1940
1941	output = &RemoveFlowMediaStreamOutput{}
1942	req = c.newRequest(op, input, output)
1943	return
1944}
1945
1946// RemoveFlowMediaStream API operation for AWS MediaConnect.
1947//
1948// Removes a media stream from a flow. This action is only available if the
1949// media stream is not associated with a source or output.
1950//
1951// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1952// with awserr.Error's Code and Message methods to get detailed information about
1953// the error.
1954//
1955// See the AWS API reference guide for AWS MediaConnect's
1956// API operation RemoveFlowMediaStream for usage and error information.
1957//
1958// Returned Error Types:
1959//   * BadRequestException
1960//   Exception raised by AWS Elemental MediaConnect. See the error message and
1961//   documentation for the operation for more information on the cause of this
1962//   exception.
1963//
1964//   * InternalServerErrorException
1965//   Exception raised by AWS Elemental MediaConnect. See the error message and
1966//   documentation for the operation for more information on the cause of this
1967//   exception.
1968//
1969//   * ForbiddenException
1970//   Exception raised by AWS Elemental MediaConnect. See the error message and
1971//   documentation for the operation for more information on the cause of this
1972//   exception.
1973//
1974//   * NotFoundException
1975//   Exception raised by AWS Elemental MediaConnect. See the error message and
1976//   documentation for the operation for more information on the cause of this
1977//   exception.
1978//
1979//   * ServiceUnavailableException
1980//   Exception raised by AWS Elemental MediaConnect. See the error message and
1981//   documentation for the operation for more information on the cause of this
1982//   exception.
1983//
1984//   * TooManyRequestsException
1985//   Exception raised by AWS Elemental MediaConnect. See the error message and
1986//   documentation for the operation for more information on the cause of this
1987//   exception.
1988//
1989// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowMediaStream
1990func (c *MediaConnect) RemoveFlowMediaStream(input *RemoveFlowMediaStreamInput) (*RemoveFlowMediaStreamOutput, error) {
1991	req, out := c.RemoveFlowMediaStreamRequest(input)
1992	return out, req.Send()
1993}
1994
1995// RemoveFlowMediaStreamWithContext is the same as RemoveFlowMediaStream with the addition of
1996// the ability to pass a context and additional request options.
1997//
1998// See RemoveFlowMediaStream for details on how to use this API operation.
1999//
2000// The context must be non-nil and will be used for request cancellation. If
2001// the context is nil a panic will occur. In the future the SDK may create
2002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2003// for more information on using Contexts.
2004func (c *MediaConnect) RemoveFlowMediaStreamWithContext(ctx aws.Context, input *RemoveFlowMediaStreamInput, opts ...request.Option) (*RemoveFlowMediaStreamOutput, error) {
2005	req, out := c.RemoveFlowMediaStreamRequest(input)
2006	req.SetContext(ctx)
2007	req.ApplyOptions(opts...)
2008	return out, req.Send()
2009}
2010
2011const opRemoveFlowOutput = "RemoveFlowOutput"
2012
2013// RemoveFlowOutputRequest generates a "aws/request.Request" representing the
2014// client's request for the RemoveFlowOutput operation. The "output" return
2015// value will be populated with the request's response once the request completes
2016// successfully.
2017//
2018// Use "Send" method on the returned Request to send the API call to the service.
2019// the "output" return value is not valid until after Send returns without error.
2020//
2021// See RemoveFlowOutput for more information on using the RemoveFlowOutput
2022// API call, and error handling.
2023//
2024// This method is useful when you want to inject custom logic or configuration
2025// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2026//
2027//
2028//    // Example sending a request using the RemoveFlowOutputRequest method.
2029//    req, resp := client.RemoveFlowOutputRequest(params)
2030//
2031//    err := req.Send()
2032//    if err == nil { // resp is now filled
2033//        fmt.Println(resp)
2034//    }
2035//
2036// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowOutput
2037func (c *MediaConnect) RemoveFlowOutputRequest(input *RemoveFlowOutputInput) (req *request.Request, output *RemoveFlowOutputOutput) {
2038	op := &request.Operation{
2039		Name:       opRemoveFlowOutput,
2040		HTTPMethod: "DELETE",
2041		HTTPPath:   "/v1/flows/{flowArn}/outputs/{outputArn}",
2042	}
2043
2044	if input == nil {
2045		input = &RemoveFlowOutputInput{}
2046	}
2047
2048	output = &RemoveFlowOutputOutput{}
2049	req = c.newRequest(op, input, output)
2050	return
2051}
2052
2053// RemoveFlowOutput API operation for AWS MediaConnect.
2054//
2055// Removes an output from an existing flow. This request can be made only on
2056// an output that does not have an entitlement associated with it. If the output
2057// has an entitlement, you must revoke the entitlement instead. When an entitlement
2058// is revoked from a flow, the service automatically removes the associated
2059// output.
2060//
2061// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2062// with awserr.Error's Code and Message methods to get detailed information about
2063// the error.
2064//
2065// See the AWS API reference guide for AWS MediaConnect's
2066// API operation RemoveFlowOutput for usage and error information.
2067//
2068// Returned Error Types:
2069//   * BadRequestException
2070//   Exception raised by AWS Elemental MediaConnect. See the error message and
2071//   documentation for the operation for more information on the cause of this
2072//   exception.
2073//
2074//   * InternalServerErrorException
2075//   Exception raised by AWS Elemental MediaConnect. See the error message and
2076//   documentation for the operation for more information on the cause of this
2077//   exception.
2078//
2079//   * ForbiddenException
2080//   Exception raised by AWS Elemental MediaConnect. See the error message and
2081//   documentation for the operation for more information on the cause of this
2082//   exception.
2083//
2084//   * NotFoundException
2085//   Exception raised by AWS Elemental MediaConnect. See the error message and
2086//   documentation for the operation for more information on the cause of this
2087//   exception.
2088//
2089//   * ServiceUnavailableException
2090//   Exception raised by AWS Elemental MediaConnect. See the error message and
2091//   documentation for the operation for more information on the cause of this
2092//   exception.
2093//
2094//   * TooManyRequestsException
2095//   Exception raised by AWS Elemental MediaConnect. See the error message and
2096//   documentation for the operation for more information on the cause of this
2097//   exception.
2098//
2099// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowOutput
2100func (c *MediaConnect) RemoveFlowOutput(input *RemoveFlowOutputInput) (*RemoveFlowOutputOutput, error) {
2101	req, out := c.RemoveFlowOutputRequest(input)
2102	return out, req.Send()
2103}
2104
2105// RemoveFlowOutputWithContext is the same as RemoveFlowOutput with the addition of
2106// the ability to pass a context and additional request options.
2107//
2108// See RemoveFlowOutput for details on how to use this API operation.
2109//
2110// The context must be non-nil and will be used for request cancellation. If
2111// the context is nil a panic will occur. In the future the SDK may create
2112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2113// for more information on using Contexts.
2114func (c *MediaConnect) RemoveFlowOutputWithContext(ctx aws.Context, input *RemoveFlowOutputInput, opts ...request.Option) (*RemoveFlowOutputOutput, error) {
2115	req, out := c.RemoveFlowOutputRequest(input)
2116	req.SetContext(ctx)
2117	req.ApplyOptions(opts...)
2118	return out, req.Send()
2119}
2120
2121const opRemoveFlowSource = "RemoveFlowSource"
2122
2123// RemoveFlowSourceRequest generates a "aws/request.Request" representing the
2124// client's request for the RemoveFlowSource operation. The "output" return
2125// value will be populated with the request's response once the request completes
2126// successfully.
2127//
2128// Use "Send" method on the returned Request to send the API call to the service.
2129// the "output" return value is not valid until after Send returns without error.
2130//
2131// See RemoveFlowSource for more information on using the RemoveFlowSource
2132// API call, and error handling.
2133//
2134// This method is useful when you want to inject custom logic or configuration
2135// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2136//
2137//
2138//    // Example sending a request using the RemoveFlowSourceRequest method.
2139//    req, resp := client.RemoveFlowSourceRequest(params)
2140//
2141//    err := req.Send()
2142//    if err == nil { // resp is now filled
2143//        fmt.Println(resp)
2144//    }
2145//
2146// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowSource
2147func (c *MediaConnect) RemoveFlowSourceRequest(input *RemoveFlowSourceInput) (req *request.Request, output *RemoveFlowSourceOutput) {
2148	op := &request.Operation{
2149		Name:       opRemoveFlowSource,
2150		HTTPMethod: "DELETE",
2151		HTTPPath:   "/v1/flows/{flowArn}/source/{sourceArn}",
2152	}
2153
2154	if input == nil {
2155		input = &RemoveFlowSourceInput{}
2156	}
2157
2158	output = &RemoveFlowSourceOutput{}
2159	req = c.newRequest(op, input, output)
2160	return
2161}
2162
2163// RemoveFlowSource API operation for AWS MediaConnect.
2164//
2165// Removes a source from an existing flow. This request can be made only if
2166// there is more than one source on the flow.
2167//
2168// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2169// with awserr.Error's Code and Message methods to get detailed information about
2170// the error.
2171//
2172// See the AWS API reference guide for AWS MediaConnect's
2173// API operation RemoveFlowSource for usage and error information.
2174//
2175// Returned Error Types:
2176//   * BadRequestException
2177//   Exception raised by AWS Elemental MediaConnect. See the error message and
2178//   documentation for the operation for more information on the cause of this
2179//   exception.
2180//
2181//   * InternalServerErrorException
2182//   Exception raised by AWS Elemental MediaConnect. See the error message and
2183//   documentation for the operation for more information on the cause of this
2184//   exception.
2185//
2186//   * ForbiddenException
2187//   Exception raised by AWS Elemental MediaConnect. See the error message and
2188//   documentation for the operation for more information on the cause of this
2189//   exception.
2190//
2191//   * NotFoundException
2192//   Exception raised by AWS Elemental MediaConnect. See the error message and
2193//   documentation for the operation for more information on the cause of this
2194//   exception.
2195//
2196//   * ServiceUnavailableException
2197//   Exception raised by AWS Elemental MediaConnect. See the error message and
2198//   documentation for the operation for more information on the cause of this
2199//   exception.
2200//
2201//   * TooManyRequestsException
2202//   Exception raised by AWS Elemental MediaConnect. See the error message and
2203//   documentation for the operation for more information on the cause of this
2204//   exception.
2205//
2206// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowSource
2207func (c *MediaConnect) RemoveFlowSource(input *RemoveFlowSourceInput) (*RemoveFlowSourceOutput, error) {
2208	req, out := c.RemoveFlowSourceRequest(input)
2209	return out, req.Send()
2210}
2211
2212// RemoveFlowSourceWithContext is the same as RemoveFlowSource with the addition of
2213// the ability to pass a context and additional request options.
2214//
2215// See RemoveFlowSource for details on how to use this API operation.
2216//
2217// The context must be non-nil and will be used for request cancellation. If
2218// the context is nil a panic will occur. In the future the SDK may create
2219// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2220// for more information on using Contexts.
2221func (c *MediaConnect) RemoveFlowSourceWithContext(ctx aws.Context, input *RemoveFlowSourceInput, opts ...request.Option) (*RemoveFlowSourceOutput, error) {
2222	req, out := c.RemoveFlowSourceRequest(input)
2223	req.SetContext(ctx)
2224	req.ApplyOptions(opts...)
2225	return out, req.Send()
2226}
2227
2228const opRemoveFlowVpcInterface = "RemoveFlowVpcInterface"
2229
2230// RemoveFlowVpcInterfaceRequest generates a "aws/request.Request" representing the
2231// client's request for the RemoveFlowVpcInterface operation. The "output" return
2232// value will be populated with the request's response once the request completes
2233// successfully.
2234//
2235// Use "Send" method on the returned Request to send the API call to the service.
2236// the "output" return value is not valid until after Send returns without error.
2237//
2238// See RemoveFlowVpcInterface for more information on using the RemoveFlowVpcInterface
2239// API call, and error handling.
2240//
2241// This method is useful when you want to inject custom logic or configuration
2242// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2243//
2244//
2245//    // Example sending a request using the RemoveFlowVpcInterfaceRequest method.
2246//    req, resp := client.RemoveFlowVpcInterfaceRequest(params)
2247//
2248//    err := req.Send()
2249//    if err == nil { // resp is now filled
2250//        fmt.Println(resp)
2251//    }
2252//
2253// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowVpcInterface
2254func (c *MediaConnect) RemoveFlowVpcInterfaceRequest(input *RemoveFlowVpcInterfaceInput) (req *request.Request, output *RemoveFlowVpcInterfaceOutput) {
2255	op := &request.Operation{
2256		Name:       opRemoveFlowVpcInterface,
2257		HTTPMethod: "DELETE",
2258		HTTPPath:   "/v1/flows/{flowArn}/vpcInterfaces/{vpcInterfaceName}",
2259	}
2260
2261	if input == nil {
2262		input = &RemoveFlowVpcInterfaceInput{}
2263	}
2264
2265	output = &RemoveFlowVpcInterfaceOutput{}
2266	req = c.newRequest(op, input, output)
2267	return
2268}
2269
2270// RemoveFlowVpcInterface API operation for AWS MediaConnect.
2271//
2272// Removes a VPC Interface from an existing flow. This request can be made only
2273// on a VPC interface that does not have a Source or Output associated with
2274// it. If the VPC interface is referenced by a Source or Output, you must first
2275// delete or update the Source or Output to no longer reference the VPC interface.
2276//
2277// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2278// with awserr.Error's Code and Message methods to get detailed information about
2279// the error.
2280//
2281// See the AWS API reference guide for AWS MediaConnect's
2282// API operation RemoveFlowVpcInterface for usage and error information.
2283//
2284// Returned Error Types:
2285//   * BadRequestException
2286//   Exception raised by AWS Elemental MediaConnect. See the error message and
2287//   documentation for the operation for more information on the cause of this
2288//   exception.
2289//
2290//   * InternalServerErrorException
2291//   Exception raised by AWS Elemental MediaConnect. See the error message and
2292//   documentation for the operation for more information on the cause of this
2293//   exception.
2294//
2295//   * ForbiddenException
2296//   Exception raised by AWS Elemental MediaConnect. See the error message and
2297//   documentation for the operation for more information on the cause of this
2298//   exception.
2299//
2300//   * NotFoundException
2301//   Exception raised by AWS Elemental MediaConnect. See the error message and
2302//   documentation for the operation for more information on the cause of this
2303//   exception.
2304//
2305//   * ServiceUnavailableException
2306//   Exception raised by AWS Elemental MediaConnect. See the error message and
2307//   documentation for the operation for more information on the cause of this
2308//   exception.
2309//
2310//   * TooManyRequestsException
2311//   Exception raised by AWS Elemental MediaConnect. See the error message and
2312//   documentation for the operation for more information on the cause of this
2313//   exception.
2314//
2315// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowVpcInterface
2316func (c *MediaConnect) RemoveFlowVpcInterface(input *RemoveFlowVpcInterfaceInput) (*RemoveFlowVpcInterfaceOutput, error) {
2317	req, out := c.RemoveFlowVpcInterfaceRequest(input)
2318	return out, req.Send()
2319}
2320
2321// RemoveFlowVpcInterfaceWithContext is the same as RemoveFlowVpcInterface with the addition of
2322// the ability to pass a context and additional request options.
2323//
2324// See RemoveFlowVpcInterface for details on how to use this API operation.
2325//
2326// The context must be non-nil and will be used for request cancellation. If
2327// the context is nil a panic will occur. In the future the SDK may create
2328// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2329// for more information on using Contexts.
2330func (c *MediaConnect) RemoveFlowVpcInterfaceWithContext(ctx aws.Context, input *RemoveFlowVpcInterfaceInput, opts ...request.Option) (*RemoveFlowVpcInterfaceOutput, error) {
2331	req, out := c.RemoveFlowVpcInterfaceRequest(input)
2332	req.SetContext(ctx)
2333	req.ApplyOptions(opts...)
2334	return out, req.Send()
2335}
2336
2337const opRevokeFlowEntitlement = "RevokeFlowEntitlement"
2338
2339// RevokeFlowEntitlementRequest generates a "aws/request.Request" representing the
2340// client's request for the RevokeFlowEntitlement operation. The "output" return
2341// value will be populated with the request's response once the request completes
2342// successfully.
2343//
2344// Use "Send" method on the returned Request to send the API call to the service.
2345// the "output" return value is not valid until after Send returns without error.
2346//
2347// See RevokeFlowEntitlement for more information on using the RevokeFlowEntitlement
2348// API call, and error handling.
2349//
2350// This method is useful when you want to inject custom logic or configuration
2351// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2352//
2353//
2354//    // Example sending a request using the RevokeFlowEntitlementRequest method.
2355//    req, resp := client.RevokeFlowEntitlementRequest(params)
2356//
2357//    err := req.Send()
2358//    if err == nil { // resp is now filled
2359//        fmt.Println(resp)
2360//    }
2361//
2362// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RevokeFlowEntitlement
2363func (c *MediaConnect) RevokeFlowEntitlementRequest(input *RevokeFlowEntitlementInput) (req *request.Request, output *RevokeFlowEntitlementOutput) {
2364	op := &request.Operation{
2365		Name:       opRevokeFlowEntitlement,
2366		HTTPMethod: "DELETE",
2367		HTTPPath:   "/v1/flows/{flowArn}/entitlements/{entitlementArn}",
2368	}
2369
2370	if input == nil {
2371		input = &RevokeFlowEntitlementInput{}
2372	}
2373
2374	output = &RevokeFlowEntitlementOutput{}
2375	req = c.newRequest(op, input, output)
2376	return
2377}
2378
2379// RevokeFlowEntitlement API operation for AWS MediaConnect.
2380//
2381// Revokes an entitlement from a flow. Once an entitlement is revoked, the content
2382// becomes unavailable to the subscriber and the associated output is removed.
2383//
2384// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2385// with awserr.Error's Code and Message methods to get detailed information about
2386// the error.
2387//
2388// See the AWS API reference guide for AWS MediaConnect's
2389// API operation RevokeFlowEntitlement for usage and error information.
2390//
2391// Returned Error Types:
2392//   * BadRequestException
2393//   Exception raised by AWS Elemental MediaConnect. See the error message and
2394//   documentation for the operation for more information on the cause of this
2395//   exception.
2396//
2397//   * InternalServerErrorException
2398//   Exception raised by AWS Elemental MediaConnect. See the error message and
2399//   documentation for the operation for more information on the cause of this
2400//   exception.
2401//
2402//   * ForbiddenException
2403//   Exception raised by AWS Elemental MediaConnect. See the error message and
2404//   documentation for the operation for more information on the cause of this
2405//   exception.
2406//
2407//   * NotFoundException
2408//   Exception raised by AWS Elemental MediaConnect. See the error message and
2409//   documentation for the operation for more information on the cause of this
2410//   exception.
2411//
2412//   * ServiceUnavailableException
2413//   Exception raised by AWS Elemental MediaConnect. See the error message and
2414//   documentation for the operation for more information on the cause of this
2415//   exception.
2416//
2417//   * TooManyRequestsException
2418//   Exception raised by AWS Elemental MediaConnect. See the error message and
2419//   documentation for the operation for more information on the cause of this
2420//   exception.
2421//
2422// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RevokeFlowEntitlement
2423func (c *MediaConnect) RevokeFlowEntitlement(input *RevokeFlowEntitlementInput) (*RevokeFlowEntitlementOutput, error) {
2424	req, out := c.RevokeFlowEntitlementRequest(input)
2425	return out, req.Send()
2426}
2427
2428// RevokeFlowEntitlementWithContext is the same as RevokeFlowEntitlement with the addition of
2429// the ability to pass a context and additional request options.
2430//
2431// See RevokeFlowEntitlement for details on how to use this API operation.
2432//
2433// The context must be non-nil and will be used for request cancellation. If
2434// the context is nil a panic will occur. In the future the SDK may create
2435// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2436// for more information on using Contexts.
2437func (c *MediaConnect) RevokeFlowEntitlementWithContext(ctx aws.Context, input *RevokeFlowEntitlementInput, opts ...request.Option) (*RevokeFlowEntitlementOutput, error) {
2438	req, out := c.RevokeFlowEntitlementRequest(input)
2439	req.SetContext(ctx)
2440	req.ApplyOptions(opts...)
2441	return out, req.Send()
2442}
2443
2444const opStartFlow = "StartFlow"
2445
2446// StartFlowRequest generates a "aws/request.Request" representing the
2447// client's request for the StartFlow operation. The "output" return
2448// value will be populated with the request's response once the request completes
2449// successfully.
2450//
2451// Use "Send" method on the returned Request to send the API call to the service.
2452// the "output" return value is not valid until after Send returns without error.
2453//
2454// See StartFlow for more information on using the StartFlow
2455// API call, and error handling.
2456//
2457// This method is useful when you want to inject custom logic or configuration
2458// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2459//
2460//
2461//    // Example sending a request using the StartFlowRequest method.
2462//    req, resp := client.StartFlowRequest(params)
2463//
2464//    err := req.Send()
2465//    if err == nil { // resp is now filled
2466//        fmt.Println(resp)
2467//    }
2468//
2469// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/StartFlow
2470func (c *MediaConnect) StartFlowRequest(input *StartFlowInput) (req *request.Request, output *StartFlowOutput) {
2471	op := &request.Operation{
2472		Name:       opStartFlow,
2473		HTTPMethod: "POST",
2474		HTTPPath:   "/v1/flows/start/{flowArn}",
2475	}
2476
2477	if input == nil {
2478		input = &StartFlowInput{}
2479	}
2480
2481	output = &StartFlowOutput{}
2482	req = c.newRequest(op, input, output)
2483	return
2484}
2485
2486// StartFlow API operation for AWS MediaConnect.
2487//
2488// Starts a flow.
2489//
2490// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2491// with awserr.Error's Code and Message methods to get detailed information about
2492// the error.
2493//
2494// See the AWS API reference guide for AWS MediaConnect's
2495// API operation StartFlow for usage and error information.
2496//
2497// Returned Error Types:
2498//   * BadRequestException
2499//   Exception raised by AWS Elemental MediaConnect. See the error message and
2500//   documentation for the operation for more information on the cause of this
2501//   exception.
2502//
2503//   * InternalServerErrorException
2504//   Exception raised by AWS Elemental MediaConnect. See the error message and
2505//   documentation for the operation for more information on the cause of this
2506//   exception.
2507//
2508//   * ForbiddenException
2509//   Exception raised by AWS Elemental MediaConnect. See the error message and
2510//   documentation for the operation for more information on the cause of this
2511//   exception.
2512//
2513//   * NotFoundException
2514//   Exception raised by AWS Elemental MediaConnect. See the error message and
2515//   documentation for the operation for more information on the cause of this
2516//   exception.
2517//
2518//   * ServiceUnavailableException
2519//   Exception raised by AWS Elemental MediaConnect. See the error message and
2520//   documentation for the operation for more information on the cause of this
2521//   exception.
2522//
2523//   * TooManyRequestsException
2524//   Exception raised by AWS Elemental MediaConnect. See the error message and
2525//   documentation for the operation for more information on the cause of this
2526//   exception.
2527//
2528// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/StartFlow
2529func (c *MediaConnect) StartFlow(input *StartFlowInput) (*StartFlowOutput, error) {
2530	req, out := c.StartFlowRequest(input)
2531	return out, req.Send()
2532}
2533
2534// StartFlowWithContext is the same as StartFlow with the addition of
2535// the ability to pass a context and additional request options.
2536//
2537// See StartFlow for details on how to use this API operation.
2538//
2539// The context must be non-nil and will be used for request cancellation. If
2540// the context is nil a panic will occur. In the future the SDK may create
2541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2542// for more information on using Contexts.
2543func (c *MediaConnect) StartFlowWithContext(ctx aws.Context, input *StartFlowInput, opts ...request.Option) (*StartFlowOutput, error) {
2544	req, out := c.StartFlowRequest(input)
2545	req.SetContext(ctx)
2546	req.ApplyOptions(opts...)
2547	return out, req.Send()
2548}
2549
2550const opStopFlow = "StopFlow"
2551
2552// StopFlowRequest generates a "aws/request.Request" representing the
2553// client's request for the StopFlow operation. The "output" return
2554// value will be populated with the request's response once the request completes
2555// successfully.
2556//
2557// Use "Send" method on the returned Request to send the API call to the service.
2558// the "output" return value is not valid until after Send returns without error.
2559//
2560// See StopFlow for more information on using the StopFlow
2561// API call, and error handling.
2562//
2563// This method is useful when you want to inject custom logic or configuration
2564// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2565//
2566//
2567//    // Example sending a request using the StopFlowRequest method.
2568//    req, resp := client.StopFlowRequest(params)
2569//
2570//    err := req.Send()
2571//    if err == nil { // resp is now filled
2572//        fmt.Println(resp)
2573//    }
2574//
2575// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/StopFlow
2576func (c *MediaConnect) StopFlowRequest(input *StopFlowInput) (req *request.Request, output *StopFlowOutput) {
2577	op := &request.Operation{
2578		Name:       opStopFlow,
2579		HTTPMethod: "POST",
2580		HTTPPath:   "/v1/flows/stop/{flowArn}",
2581	}
2582
2583	if input == nil {
2584		input = &StopFlowInput{}
2585	}
2586
2587	output = &StopFlowOutput{}
2588	req = c.newRequest(op, input, output)
2589	return
2590}
2591
2592// StopFlow API operation for AWS MediaConnect.
2593//
2594// Stops a flow.
2595//
2596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2597// with awserr.Error's Code and Message methods to get detailed information about
2598// the error.
2599//
2600// See the AWS API reference guide for AWS MediaConnect's
2601// API operation StopFlow for usage and error information.
2602//
2603// Returned Error Types:
2604//   * BadRequestException
2605//   Exception raised by AWS Elemental MediaConnect. See the error message and
2606//   documentation for the operation for more information on the cause of this
2607//   exception.
2608//
2609//   * InternalServerErrorException
2610//   Exception raised by AWS Elemental MediaConnect. See the error message and
2611//   documentation for the operation for more information on the cause of this
2612//   exception.
2613//
2614//   * ForbiddenException
2615//   Exception raised by AWS Elemental MediaConnect. See the error message and
2616//   documentation for the operation for more information on the cause of this
2617//   exception.
2618//
2619//   * NotFoundException
2620//   Exception raised by AWS Elemental MediaConnect. See the error message and
2621//   documentation for the operation for more information on the cause of this
2622//   exception.
2623//
2624//   * ServiceUnavailableException
2625//   Exception raised by AWS Elemental MediaConnect. See the error message and
2626//   documentation for the operation for more information on the cause of this
2627//   exception.
2628//
2629//   * TooManyRequestsException
2630//   Exception raised by AWS Elemental MediaConnect. See the error message and
2631//   documentation for the operation for more information on the cause of this
2632//   exception.
2633//
2634// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/StopFlow
2635func (c *MediaConnect) StopFlow(input *StopFlowInput) (*StopFlowOutput, error) {
2636	req, out := c.StopFlowRequest(input)
2637	return out, req.Send()
2638}
2639
2640// StopFlowWithContext is the same as StopFlow with the addition of
2641// the ability to pass a context and additional request options.
2642//
2643// See StopFlow for details on how to use this API operation.
2644//
2645// The context must be non-nil and will be used for request cancellation. If
2646// the context is nil a panic will occur. In the future the SDK may create
2647// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2648// for more information on using Contexts.
2649func (c *MediaConnect) StopFlowWithContext(ctx aws.Context, input *StopFlowInput, opts ...request.Option) (*StopFlowOutput, error) {
2650	req, out := c.StopFlowRequest(input)
2651	req.SetContext(ctx)
2652	req.ApplyOptions(opts...)
2653	return out, req.Send()
2654}
2655
2656const opTagResource = "TagResource"
2657
2658// TagResourceRequest generates a "aws/request.Request" representing the
2659// client's request for the TagResource operation. The "output" return
2660// value will be populated with the request's response once the request completes
2661// successfully.
2662//
2663// Use "Send" method on the returned Request to send the API call to the service.
2664// the "output" return value is not valid until after Send returns without error.
2665//
2666// See TagResource for more information on using the TagResource
2667// API call, and error handling.
2668//
2669// This method is useful when you want to inject custom logic or configuration
2670// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2671//
2672//
2673//    // Example sending a request using the TagResourceRequest method.
2674//    req, resp := client.TagResourceRequest(params)
2675//
2676//    err := req.Send()
2677//    if err == nil { // resp is now filled
2678//        fmt.Println(resp)
2679//    }
2680//
2681// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/TagResource
2682func (c *MediaConnect) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2683	op := &request.Operation{
2684		Name:       opTagResource,
2685		HTTPMethod: "POST",
2686		HTTPPath:   "/tags/{resourceArn}",
2687	}
2688
2689	if input == nil {
2690		input = &TagResourceInput{}
2691	}
2692
2693	output = &TagResourceOutput{}
2694	req = c.newRequest(op, input, output)
2695	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2696	return
2697}
2698
2699// TagResource API operation for AWS MediaConnect.
2700//
2701// Associates the specified tags to a resource with the specified resourceArn.
2702// If existing tags on a resource are not specified in the request parameters,
2703// they are not changed. When a resource is deleted, the tags associated with
2704// that resource are deleted as well.
2705//
2706// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2707// with awserr.Error's Code and Message methods to get detailed information about
2708// the error.
2709//
2710// See the AWS API reference guide for AWS MediaConnect's
2711// API operation TagResource for usage and error information.
2712//
2713// Returned Error Types:
2714//   * NotFoundException
2715//   Exception raised by AWS Elemental MediaConnect. See the error message and
2716//   documentation for the operation for more information on the cause of this
2717//   exception.
2718//
2719//   * BadRequestException
2720//   Exception raised by AWS Elemental MediaConnect. See the error message and
2721//   documentation for the operation for more information on the cause of this
2722//   exception.
2723//
2724//   * InternalServerErrorException
2725//   Exception raised by AWS Elemental MediaConnect. See the error message and
2726//   documentation for the operation for more information on the cause of this
2727//   exception.
2728//
2729// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/TagResource
2730func (c *MediaConnect) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2731	req, out := c.TagResourceRequest(input)
2732	return out, req.Send()
2733}
2734
2735// TagResourceWithContext is the same as TagResource with the addition of
2736// the ability to pass a context and additional request options.
2737//
2738// See TagResource for details on how to use this API operation.
2739//
2740// The context must be non-nil and will be used for request cancellation. If
2741// the context is nil a panic will occur. In the future the SDK may create
2742// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2743// for more information on using Contexts.
2744func (c *MediaConnect) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2745	req, out := c.TagResourceRequest(input)
2746	req.SetContext(ctx)
2747	req.ApplyOptions(opts...)
2748	return out, req.Send()
2749}
2750
2751const opUntagResource = "UntagResource"
2752
2753// UntagResourceRequest generates a "aws/request.Request" representing the
2754// client's request for the UntagResource operation. The "output" return
2755// value will be populated with the request's response once the request completes
2756// successfully.
2757//
2758// Use "Send" method on the returned Request to send the API call to the service.
2759// the "output" return value is not valid until after Send returns without error.
2760//
2761// See UntagResource for more information on using the UntagResource
2762// API call, and error handling.
2763//
2764// This method is useful when you want to inject custom logic or configuration
2765// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2766//
2767//
2768//    // Example sending a request using the UntagResourceRequest method.
2769//    req, resp := client.UntagResourceRequest(params)
2770//
2771//    err := req.Send()
2772//    if err == nil { // resp is now filled
2773//        fmt.Println(resp)
2774//    }
2775//
2776// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UntagResource
2777func (c *MediaConnect) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2778	op := &request.Operation{
2779		Name:       opUntagResource,
2780		HTTPMethod: "DELETE",
2781		HTTPPath:   "/tags/{resourceArn}",
2782	}
2783
2784	if input == nil {
2785		input = &UntagResourceInput{}
2786	}
2787
2788	output = &UntagResourceOutput{}
2789	req = c.newRequest(op, input, output)
2790	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2791	return
2792}
2793
2794// UntagResource API operation for AWS MediaConnect.
2795//
2796// Deletes specified tags from a resource.
2797//
2798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2799// with awserr.Error's Code and Message methods to get detailed information about
2800// the error.
2801//
2802// See the AWS API reference guide for AWS MediaConnect's
2803// API operation UntagResource for usage and error information.
2804//
2805// Returned Error Types:
2806//   * NotFoundException
2807//   Exception raised by AWS Elemental MediaConnect. See the error message and
2808//   documentation for the operation for more information on the cause of this
2809//   exception.
2810//
2811//   * BadRequestException
2812//   Exception raised by AWS Elemental MediaConnect. See the error message and
2813//   documentation for the operation for more information on the cause of this
2814//   exception.
2815//
2816//   * InternalServerErrorException
2817//   Exception raised by AWS Elemental MediaConnect. See the error message and
2818//   documentation for the operation for more information on the cause of this
2819//   exception.
2820//
2821// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UntagResource
2822func (c *MediaConnect) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2823	req, out := c.UntagResourceRequest(input)
2824	return out, req.Send()
2825}
2826
2827// UntagResourceWithContext is the same as UntagResource with the addition of
2828// the ability to pass a context and additional request options.
2829//
2830// See UntagResource for details on how to use this API operation.
2831//
2832// The context must be non-nil and will be used for request cancellation. If
2833// the context is nil a panic will occur. In the future the SDK may create
2834// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2835// for more information on using Contexts.
2836func (c *MediaConnect) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2837	req, out := c.UntagResourceRequest(input)
2838	req.SetContext(ctx)
2839	req.ApplyOptions(opts...)
2840	return out, req.Send()
2841}
2842
2843const opUpdateFlow = "UpdateFlow"
2844
2845// UpdateFlowRequest generates a "aws/request.Request" representing the
2846// client's request for the UpdateFlow operation. The "output" return
2847// value will be populated with the request's response once the request completes
2848// successfully.
2849//
2850// Use "Send" method on the returned Request to send the API call to the service.
2851// the "output" return value is not valid until after Send returns without error.
2852//
2853// See UpdateFlow for more information on using the UpdateFlow
2854// API call, and error handling.
2855//
2856// This method is useful when you want to inject custom logic or configuration
2857// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2858//
2859//
2860//    // Example sending a request using the UpdateFlowRequest method.
2861//    req, resp := client.UpdateFlowRequest(params)
2862//
2863//    err := req.Send()
2864//    if err == nil { // resp is now filled
2865//        fmt.Println(resp)
2866//    }
2867//
2868// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlow
2869func (c *MediaConnect) UpdateFlowRequest(input *UpdateFlowInput) (req *request.Request, output *UpdateFlowOutput) {
2870	op := &request.Operation{
2871		Name:       opUpdateFlow,
2872		HTTPMethod: "PUT",
2873		HTTPPath:   "/v1/flows/{flowArn}",
2874	}
2875
2876	if input == nil {
2877		input = &UpdateFlowInput{}
2878	}
2879
2880	output = &UpdateFlowOutput{}
2881	req = c.newRequest(op, input, output)
2882	return
2883}
2884
2885// UpdateFlow API operation for AWS MediaConnect.
2886//
2887// Updates flow
2888//
2889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2890// with awserr.Error's Code and Message methods to get detailed information about
2891// the error.
2892//
2893// See the AWS API reference guide for AWS MediaConnect's
2894// API operation UpdateFlow for usage and error information.
2895//
2896// Returned Error Types:
2897//   * BadRequestException
2898//   Exception raised by AWS Elemental MediaConnect. See the error message and
2899//   documentation for the operation for more information on the cause of this
2900//   exception.
2901//
2902//   * InternalServerErrorException
2903//   Exception raised by AWS Elemental MediaConnect. See the error message and
2904//   documentation for the operation for more information on the cause of this
2905//   exception.
2906//
2907//   * ForbiddenException
2908//   Exception raised by AWS Elemental MediaConnect. See the error message and
2909//   documentation for the operation for more information on the cause of this
2910//   exception.
2911//
2912//   * NotFoundException
2913//   Exception raised by AWS Elemental MediaConnect. See the error message and
2914//   documentation for the operation for more information on the cause of this
2915//   exception.
2916//
2917//   * ServiceUnavailableException
2918//   Exception raised by AWS Elemental MediaConnect. See the error message and
2919//   documentation for the operation for more information on the cause of this
2920//   exception.
2921//
2922//   * TooManyRequestsException
2923//   Exception raised by AWS Elemental MediaConnect. See the error message and
2924//   documentation for the operation for more information on the cause of this
2925//   exception.
2926//
2927// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlow
2928func (c *MediaConnect) UpdateFlow(input *UpdateFlowInput) (*UpdateFlowOutput, error) {
2929	req, out := c.UpdateFlowRequest(input)
2930	return out, req.Send()
2931}
2932
2933// UpdateFlowWithContext is the same as UpdateFlow with the addition of
2934// the ability to pass a context and additional request options.
2935//
2936// See UpdateFlow for details on how to use this API operation.
2937//
2938// The context must be non-nil and will be used for request cancellation. If
2939// the context is nil a panic will occur. In the future the SDK may create
2940// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2941// for more information on using Contexts.
2942func (c *MediaConnect) UpdateFlowWithContext(ctx aws.Context, input *UpdateFlowInput, opts ...request.Option) (*UpdateFlowOutput, error) {
2943	req, out := c.UpdateFlowRequest(input)
2944	req.SetContext(ctx)
2945	req.ApplyOptions(opts...)
2946	return out, req.Send()
2947}
2948
2949const opUpdateFlowEntitlement = "UpdateFlowEntitlement"
2950
2951// UpdateFlowEntitlementRequest generates a "aws/request.Request" representing the
2952// client's request for the UpdateFlowEntitlement operation. The "output" return
2953// value will be populated with the request's response once the request completes
2954// successfully.
2955//
2956// Use "Send" method on the returned Request to send the API call to the service.
2957// the "output" return value is not valid until after Send returns without error.
2958//
2959// See UpdateFlowEntitlement for more information on using the UpdateFlowEntitlement
2960// API call, and error handling.
2961//
2962// This method is useful when you want to inject custom logic or configuration
2963// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2964//
2965//
2966//    // Example sending a request using the UpdateFlowEntitlementRequest method.
2967//    req, resp := client.UpdateFlowEntitlementRequest(params)
2968//
2969//    err := req.Send()
2970//    if err == nil { // resp is now filled
2971//        fmt.Println(resp)
2972//    }
2973//
2974// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowEntitlement
2975func (c *MediaConnect) UpdateFlowEntitlementRequest(input *UpdateFlowEntitlementInput) (req *request.Request, output *UpdateFlowEntitlementOutput) {
2976	op := &request.Operation{
2977		Name:       opUpdateFlowEntitlement,
2978		HTTPMethod: "PUT",
2979		HTTPPath:   "/v1/flows/{flowArn}/entitlements/{entitlementArn}",
2980	}
2981
2982	if input == nil {
2983		input = &UpdateFlowEntitlementInput{}
2984	}
2985
2986	output = &UpdateFlowEntitlementOutput{}
2987	req = c.newRequest(op, input, output)
2988	return
2989}
2990
2991// UpdateFlowEntitlement API operation for AWS MediaConnect.
2992//
2993// You can change an entitlement's description, subscribers, and encryption.
2994// If you change the subscribers, the service will remove the outputs that are
2995// are used by the subscribers that are removed.
2996//
2997// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2998// with awserr.Error's Code and Message methods to get detailed information about
2999// the error.
3000//
3001// See the AWS API reference guide for AWS MediaConnect's
3002// API operation UpdateFlowEntitlement for usage and error information.
3003//
3004// Returned Error Types:
3005//   * BadRequestException
3006//   Exception raised by AWS Elemental MediaConnect. See the error message and
3007//   documentation for the operation for more information on the cause of this
3008//   exception.
3009//
3010//   * InternalServerErrorException
3011//   Exception raised by AWS Elemental MediaConnect. See the error message and
3012//   documentation for the operation for more information on the cause of this
3013//   exception.
3014//
3015//   * ForbiddenException
3016//   Exception raised by AWS Elemental MediaConnect. See the error message and
3017//   documentation for the operation for more information on the cause of this
3018//   exception.
3019//
3020//   * NotFoundException
3021//   Exception raised by AWS Elemental MediaConnect. See the error message and
3022//   documentation for the operation for more information on the cause of this
3023//   exception.
3024//
3025//   * ServiceUnavailableException
3026//   Exception raised by AWS Elemental MediaConnect. See the error message and
3027//   documentation for the operation for more information on the cause of this
3028//   exception.
3029//
3030//   * TooManyRequestsException
3031//   Exception raised by AWS Elemental MediaConnect. See the error message and
3032//   documentation for the operation for more information on the cause of this
3033//   exception.
3034//
3035// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowEntitlement
3036func (c *MediaConnect) UpdateFlowEntitlement(input *UpdateFlowEntitlementInput) (*UpdateFlowEntitlementOutput, error) {
3037	req, out := c.UpdateFlowEntitlementRequest(input)
3038	return out, req.Send()
3039}
3040
3041// UpdateFlowEntitlementWithContext is the same as UpdateFlowEntitlement with the addition of
3042// the ability to pass a context and additional request options.
3043//
3044// See UpdateFlowEntitlement for details on how to use this API operation.
3045//
3046// The context must be non-nil and will be used for request cancellation. If
3047// the context is nil a panic will occur. In the future the SDK may create
3048// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3049// for more information on using Contexts.
3050func (c *MediaConnect) UpdateFlowEntitlementWithContext(ctx aws.Context, input *UpdateFlowEntitlementInput, opts ...request.Option) (*UpdateFlowEntitlementOutput, error) {
3051	req, out := c.UpdateFlowEntitlementRequest(input)
3052	req.SetContext(ctx)
3053	req.ApplyOptions(opts...)
3054	return out, req.Send()
3055}
3056
3057const opUpdateFlowMediaStream = "UpdateFlowMediaStream"
3058
3059// UpdateFlowMediaStreamRequest generates a "aws/request.Request" representing the
3060// client's request for the UpdateFlowMediaStream operation. The "output" return
3061// value will be populated with the request's response once the request completes
3062// successfully.
3063//
3064// Use "Send" method on the returned Request to send the API call to the service.
3065// the "output" return value is not valid until after Send returns without error.
3066//
3067// See UpdateFlowMediaStream for more information on using the UpdateFlowMediaStream
3068// API call, and error handling.
3069//
3070// This method is useful when you want to inject custom logic or configuration
3071// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3072//
3073//
3074//    // Example sending a request using the UpdateFlowMediaStreamRequest method.
3075//    req, resp := client.UpdateFlowMediaStreamRequest(params)
3076//
3077//    err := req.Send()
3078//    if err == nil { // resp is now filled
3079//        fmt.Println(resp)
3080//    }
3081//
3082// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowMediaStream
3083func (c *MediaConnect) UpdateFlowMediaStreamRequest(input *UpdateFlowMediaStreamInput) (req *request.Request, output *UpdateFlowMediaStreamOutput) {
3084	op := &request.Operation{
3085		Name:       opUpdateFlowMediaStream,
3086		HTTPMethod: "PUT",
3087		HTTPPath:   "/v1/flows/{flowArn}/mediaStreams/{mediaStreamName}",
3088	}
3089
3090	if input == nil {
3091		input = &UpdateFlowMediaStreamInput{}
3092	}
3093
3094	output = &UpdateFlowMediaStreamOutput{}
3095	req = c.newRequest(op, input, output)
3096	return
3097}
3098
3099// UpdateFlowMediaStream API operation for AWS MediaConnect.
3100//
3101// Updates an existing media stream.
3102//
3103// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3104// with awserr.Error's Code and Message methods to get detailed information about
3105// the error.
3106//
3107// See the AWS API reference guide for AWS MediaConnect's
3108// API operation UpdateFlowMediaStream for usage and error information.
3109//
3110// Returned Error Types:
3111//   * BadRequestException
3112//   Exception raised by AWS Elemental MediaConnect. See the error message and
3113//   documentation for the operation for more information on the cause of this
3114//   exception.
3115//
3116//   * InternalServerErrorException
3117//   Exception raised by AWS Elemental MediaConnect. See the error message and
3118//   documentation for the operation for more information on the cause of this
3119//   exception.
3120//
3121//   * ForbiddenException
3122//   Exception raised by AWS Elemental MediaConnect. See the error message and
3123//   documentation for the operation for more information on the cause of this
3124//   exception.
3125//
3126//   * NotFoundException
3127//   Exception raised by AWS Elemental MediaConnect. See the error message and
3128//   documentation for the operation for more information on the cause of this
3129//   exception.
3130//
3131//   * ServiceUnavailableException
3132//   Exception raised by AWS Elemental MediaConnect. See the error message and
3133//   documentation for the operation for more information on the cause of this
3134//   exception.
3135//
3136//   * TooManyRequestsException
3137//   Exception raised by AWS Elemental MediaConnect. See the error message and
3138//   documentation for the operation for more information on the cause of this
3139//   exception.
3140//
3141// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowMediaStream
3142func (c *MediaConnect) UpdateFlowMediaStream(input *UpdateFlowMediaStreamInput) (*UpdateFlowMediaStreamOutput, error) {
3143	req, out := c.UpdateFlowMediaStreamRequest(input)
3144	return out, req.Send()
3145}
3146
3147// UpdateFlowMediaStreamWithContext is the same as UpdateFlowMediaStream with the addition of
3148// the ability to pass a context and additional request options.
3149//
3150// See UpdateFlowMediaStream for details on how to use this API operation.
3151//
3152// The context must be non-nil and will be used for request cancellation. If
3153// the context is nil a panic will occur. In the future the SDK may create
3154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3155// for more information on using Contexts.
3156func (c *MediaConnect) UpdateFlowMediaStreamWithContext(ctx aws.Context, input *UpdateFlowMediaStreamInput, opts ...request.Option) (*UpdateFlowMediaStreamOutput, error) {
3157	req, out := c.UpdateFlowMediaStreamRequest(input)
3158	req.SetContext(ctx)
3159	req.ApplyOptions(opts...)
3160	return out, req.Send()
3161}
3162
3163const opUpdateFlowOutput = "UpdateFlowOutput"
3164
3165// UpdateFlowOutputRequest generates a "aws/request.Request" representing the
3166// client's request for the UpdateFlowOutput operation. The "output" return
3167// value will be populated with the request's response once the request completes
3168// successfully.
3169//
3170// Use "Send" method on the returned Request to send the API call to the service.
3171// the "output" return value is not valid until after Send returns without error.
3172//
3173// See UpdateFlowOutput for more information on using the UpdateFlowOutput
3174// API call, and error handling.
3175//
3176// This method is useful when you want to inject custom logic or configuration
3177// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3178//
3179//
3180//    // Example sending a request using the UpdateFlowOutputRequest method.
3181//    req, resp := client.UpdateFlowOutputRequest(params)
3182//
3183//    err := req.Send()
3184//    if err == nil { // resp is now filled
3185//        fmt.Println(resp)
3186//    }
3187//
3188// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowOutput
3189func (c *MediaConnect) UpdateFlowOutputRequest(input *UpdateFlowOutputInput) (req *request.Request, output *UpdateFlowOutputOutput) {
3190	op := &request.Operation{
3191		Name:       opUpdateFlowOutput,
3192		HTTPMethod: "PUT",
3193		HTTPPath:   "/v1/flows/{flowArn}/outputs/{outputArn}",
3194	}
3195
3196	if input == nil {
3197		input = &UpdateFlowOutputInput{}
3198	}
3199
3200	output = &UpdateFlowOutputOutput{}
3201	req = c.newRequest(op, input, output)
3202	return
3203}
3204
3205// UpdateFlowOutput API operation for AWS MediaConnect.
3206//
3207// Updates an existing flow output.
3208//
3209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3210// with awserr.Error's Code and Message methods to get detailed information about
3211// the error.
3212//
3213// See the AWS API reference guide for AWS MediaConnect's
3214// API operation UpdateFlowOutput for usage and error information.
3215//
3216// Returned Error Types:
3217//   * BadRequestException
3218//   Exception raised by AWS Elemental MediaConnect. See the error message and
3219//   documentation for the operation for more information on the cause of this
3220//   exception.
3221//
3222//   * InternalServerErrorException
3223//   Exception raised by AWS Elemental MediaConnect. See the error message and
3224//   documentation for the operation for more information on the cause of this
3225//   exception.
3226//
3227//   * ForbiddenException
3228//   Exception raised by AWS Elemental MediaConnect. See the error message and
3229//   documentation for the operation for more information on the cause of this
3230//   exception.
3231//
3232//   * NotFoundException
3233//   Exception raised by AWS Elemental MediaConnect. See the error message and
3234//   documentation for the operation for more information on the cause of this
3235//   exception.
3236//
3237//   * ServiceUnavailableException
3238//   Exception raised by AWS Elemental MediaConnect. See the error message and
3239//   documentation for the operation for more information on the cause of this
3240//   exception.
3241//
3242//   * TooManyRequestsException
3243//   Exception raised by AWS Elemental MediaConnect. See the error message and
3244//   documentation for the operation for more information on the cause of this
3245//   exception.
3246//
3247// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowOutput
3248func (c *MediaConnect) UpdateFlowOutput(input *UpdateFlowOutputInput) (*UpdateFlowOutputOutput, error) {
3249	req, out := c.UpdateFlowOutputRequest(input)
3250	return out, req.Send()
3251}
3252
3253// UpdateFlowOutputWithContext is the same as UpdateFlowOutput with the addition of
3254// the ability to pass a context and additional request options.
3255//
3256// See UpdateFlowOutput for details on how to use this API operation.
3257//
3258// The context must be non-nil and will be used for request cancellation. If
3259// the context is nil a panic will occur. In the future the SDK may create
3260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3261// for more information on using Contexts.
3262func (c *MediaConnect) UpdateFlowOutputWithContext(ctx aws.Context, input *UpdateFlowOutputInput, opts ...request.Option) (*UpdateFlowOutputOutput, error) {
3263	req, out := c.UpdateFlowOutputRequest(input)
3264	req.SetContext(ctx)
3265	req.ApplyOptions(opts...)
3266	return out, req.Send()
3267}
3268
3269const opUpdateFlowSource = "UpdateFlowSource"
3270
3271// UpdateFlowSourceRequest generates a "aws/request.Request" representing the
3272// client's request for the UpdateFlowSource operation. The "output" return
3273// value will be populated with the request's response once the request completes
3274// successfully.
3275//
3276// Use "Send" method on the returned Request to send the API call to the service.
3277// the "output" return value is not valid until after Send returns without error.
3278//
3279// See UpdateFlowSource for more information on using the UpdateFlowSource
3280// API call, and error handling.
3281//
3282// This method is useful when you want to inject custom logic or configuration
3283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3284//
3285//
3286//    // Example sending a request using the UpdateFlowSourceRequest method.
3287//    req, resp := client.UpdateFlowSourceRequest(params)
3288//
3289//    err := req.Send()
3290//    if err == nil { // resp is now filled
3291//        fmt.Println(resp)
3292//    }
3293//
3294// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowSource
3295func (c *MediaConnect) UpdateFlowSourceRequest(input *UpdateFlowSourceInput) (req *request.Request, output *UpdateFlowSourceOutput) {
3296	op := &request.Operation{
3297		Name:       opUpdateFlowSource,
3298		HTTPMethod: "PUT",
3299		HTTPPath:   "/v1/flows/{flowArn}/source/{sourceArn}",
3300	}
3301
3302	if input == nil {
3303		input = &UpdateFlowSourceInput{}
3304	}
3305
3306	output = &UpdateFlowSourceOutput{}
3307	req = c.newRequest(op, input, output)
3308	return
3309}
3310
3311// UpdateFlowSource API operation for AWS MediaConnect.
3312//
3313// Updates the source of a flow.
3314//
3315// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3316// with awserr.Error's Code and Message methods to get detailed information about
3317// the error.
3318//
3319// See the AWS API reference guide for AWS MediaConnect's
3320// API operation UpdateFlowSource for usage and error information.
3321//
3322// Returned Error Types:
3323//   * BadRequestException
3324//   Exception raised by AWS Elemental MediaConnect. See the error message and
3325//   documentation for the operation for more information on the cause of this
3326//   exception.
3327//
3328//   * InternalServerErrorException
3329//   Exception raised by AWS Elemental MediaConnect. See the error message and
3330//   documentation for the operation for more information on the cause of this
3331//   exception.
3332//
3333//   * ForbiddenException
3334//   Exception raised by AWS Elemental MediaConnect. See the error message and
3335//   documentation for the operation for more information on the cause of this
3336//   exception.
3337//
3338//   * NotFoundException
3339//   Exception raised by AWS Elemental MediaConnect. See the error message and
3340//   documentation for the operation for more information on the cause of this
3341//   exception.
3342//
3343//   * ServiceUnavailableException
3344//   Exception raised by AWS Elemental MediaConnect. See the error message and
3345//   documentation for the operation for more information on the cause of this
3346//   exception.
3347//
3348//   * TooManyRequestsException
3349//   Exception raised by AWS Elemental MediaConnect. See the error message and
3350//   documentation for the operation for more information on the cause of this
3351//   exception.
3352//
3353// See also, https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowSource
3354func (c *MediaConnect) UpdateFlowSource(input *UpdateFlowSourceInput) (*UpdateFlowSourceOutput, error) {
3355	req, out := c.UpdateFlowSourceRequest(input)
3356	return out, req.Send()
3357}
3358
3359// UpdateFlowSourceWithContext is the same as UpdateFlowSource with the addition of
3360// the ability to pass a context and additional request options.
3361//
3362// See UpdateFlowSource for details on how to use this API operation.
3363//
3364// The context must be non-nil and will be used for request cancellation. If
3365// the context is nil a panic will occur. In the future the SDK may create
3366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3367// for more information on using Contexts.
3368func (c *MediaConnect) UpdateFlowSourceWithContext(ctx aws.Context, input *UpdateFlowSourceInput, opts ...request.Option) (*UpdateFlowSourceOutput, error) {
3369	req, out := c.UpdateFlowSourceRequest(input)
3370	req.SetContext(ctx)
3371	req.ApplyOptions(opts...)
3372	return out, req.Send()
3373}
3374
3375// Adds media streams to an existing flow.
3376type AddFlowMediaStreamsInput struct {
3377	_ struct{} `type:"structure"`
3378
3379	// FlowArn is a required field
3380	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
3381
3382	// The media streams that you want to add to the flow.
3383	//
3384	// MediaStreams is a required field
3385	MediaStreams []*AddMediaStreamRequest `locationName:"mediaStreams" type:"list" required:"true"`
3386}
3387
3388// String returns the string representation
3389func (s AddFlowMediaStreamsInput) String() string {
3390	return awsutil.Prettify(s)
3391}
3392
3393// GoString returns the string representation
3394func (s AddFlowMediaStreamsInput) GoString() string {
3395	return s.String()
3396}
3397
3398// Validate inspects the fields of the type to determine if they are valid.
3399func (s *AddFlowMediaStreamsInput) Validate() error {
3400	invalidParams := request.ErrInvalidParams{Context: "AddFlowMediaStreamsInput"}
3401	if s.FlowArn == nil {
3402		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
3403	}
3404	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
3405		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
3406	}
3407	if s.MediaStreams == nil {
3408		invalidParams.Add(request.NewErrParamRequired("MediaStreams"))
3409	}
3410	if s.MediaStreams != nil {
3411		for i, v := range s.MediaStreams {
3412			if v == nil {
3413				continue
3414			}
3415			if err := v.Validate(); err != nil {
3416				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaStreams", i), err.(request.ErrInvalidParams))
3417			}
3418		}
3419	}
3420
3421	if invalidParams.Len() > 0 {
3422		return invalidParams
3423	}
3424	return nil
3425}
3426
3427// SetFlowArn sets the FlowArn field's value.
3428func (s *AddFlowMediaStreamsInput) SetFlowArn(v string) *AddFlowMediaStreamsInput {
3429	s.FlowArn = &v
3430	return s
3431}
3432
3433// SetMediaStreams sets the MediaStreams field's value.
3434func (s *AddFlowMediaStreamsInput) SetMediaStreams(v []*AddMediaStreamRequest) *AddFlowMediaStreamsInput {
3435	s.MediaStreams = v
3436	return s
3437}
3438
3439// The result of a successful AddFlowMediaStreamsRequest request. The response
3440// includes the details of the newly added media streams.
3441type AddFlowMediaStreamsOutput struct {
3442	_ struct{} `type:"structure"`
3443
3444	// The ARN of the flow that you added media streams to.
3445	FlowArn *string `locationName:"flowArn" type:"string"`
3446
3447	// The media streams that you added to the flow.
3448	MediaStreams []*MediaStream `locationName:"mediaStreams" type:"list"`
3449}
3450
3451// String returns the string representation
3452func (s AddFlowMediaStreamsOutput) String() string {
3453	return awsutil.Prettify(s)
3454}
3455
3456// GoString returns the string representation
3457func (s AddFlowMediaStreamsOutput) GoString() string {
3458	return s.String()
3459}
3460
3461// SetFlowArn sets the FlowArn field's value.
3462func (s *AddFlowMediaStreamsOutput) SetFlowArn(v string) *AddFlowMediaStreamsOutput {
3463	s.FlowArn = &v
3464	return s
3465}
3466
3467// SetMediaStreams sets the MediaStreams field's value.
3468func (s *AddFlowMediaStreamsOutput) SetMediaStreams(v []*MediaStream) *AddFlowMediaStreamsOutput {
3469	s.MediaStreams = v
3470	return s
3471}
3472
3473// Exception raised by AWS Elemental MediaConnect. See the error message and
3474// documentation for the operation for more information on the cause of this
3475// exception.
3476type AddFlowOutputs420Exception struct {
3477	_            struct{}                  `type:"structure"`
3478	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3479
3480	Message_ *string `locationName:"message" type:"string"`
3481}
3482
3483// String returns the string representation
3484func (s AddFlowOutputs420Exception) String() string {
3485	return awsutil.Prettify(s)
3486}
3487
3488// GoString returns the string representation
3489func (s AddFlowOutputs420Exception) GoString() string {
3490	return s.String()
3491}
3492
3493func newErrorAddFlowOutputs420Exception(v protocol.ResponseMetadata) error {
3494	return &AddFlowOutputs420Exception{
3495		RespMetadata: v,
3496	}
3497}
3498
3499// Code returns the exception type name.
3500func (s *AddFlowOutputs420Exception) Code() string {
3501	return "AddFlowOutputs420Exception"
3502}
3503
3504// Message returns the exception's message.
3505func (s *AddFlowOutputs420Exception) Message() string {
3506	if s.Message_ != nil {
3507		return *s.Message_
3508	}
3509	return ""
3510}
3511
3512// OrigErr always returns nil, satisfies awserr.Error interface.
3513func (s *AddFlowOutputs420Exception) OrigErr() error {
3514	return nil
3515}
3516
3517func (s *AddFlowOutputs420Exception) Error() string {
3518	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3519}
3520
3521// Status code returns the HTTP status code for the request's response error.
3522func (s *AddFlowOutputs420Exception) StatusCode() int {
3523	return s.RespMetadata.StatusCode
3524}
3525
3526// RequestID returns the service's response RequestID for request.
3527func (s *AddFlowOutputs420Exception) RequestID() string {
3528	return s.RespMetadata.RequestID
3529}
3530
3531// Adds outputs to an existing flow. You can create up to 50 outputs per flow.
3532type AddFlowOutputsInput struct {
3533	_ struct{} `type:"structure"`
3534
3535	// FlowArn is a required field
3536	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
3537
3538	// A list of outputs that you want to add.
3539	//
3540	// Outputs is a required field
3541	Outputs []*AddOutputRequest `locationName:"outputs" type:"list" required:"true"`
3542}
3543
3544// String returns the string representation
3545func (s AddFlowOutputsInput) String() string {
3546	return awsutil.Prettify(s)
3547}
3548
3549// GoString returns the string representation
3550func (s AddFlowOutputsInput) GoString() string {
3551	return s.String()
3552}
3553
3554// Validate inspects the fields of the type to determine if they are valid.
3555func (s *AddFlowOutputsInput) Validate() error {
3556	invalidParams := request.ErrInvalidParams{Context: "AddFlowOutputsInput"}
3557	if s.FlowArn == nil {
3558		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
3559	}
3560	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
3561		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
3562	}
3563	if s.Outputs == nil {
3564		invalidParams.Add(request.NewErrParamRequired("Outputs"))
3565	}
3566	if s.Outputs != nil {
3567		for i, v := range s.Outputs {
3568			if v == nil {
3569				continue
3570			}
3571			if err := v.Validate(); err != nil {
3572				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
3573			}
3574		}
3575	}
3576
3577	if invalidParams.Len() > 0 {
3578		return invalidParams
3579	}
3580	return nil
3581}
3582
3583// SetFlowArn sets the FlowArn field's value.
3584func (s *AddFlowOutputsInput) SetFlowArn(v string) *AddFlowOutputsInput {
3585	s.FlowArn = &v
3586	return s
3587}
3588
3589// SetOutputs sets the Outputs field's value.
3590func (s *AddFlowOutputsInput) SetOutputs(v []*AddOutputRequest) *AddFlowOutputsInput {
3591	s.Outputs = v
3592	return s
3593}
3594
3595// The result of a successful AddOutput request. The response includes the details
3596// of the newly added outputs.
3597type AddFlowOutputsOutput struct {
3598	_ struct{} `type:"structure"`
3599
3600	// The ARN of the flow that these outputs were added to.
3601	FlowArn *string `locationName:"flowArn" type:"string"`
3602
3603	// The details of the newly added outputs.
3604	Outputs []*Output `locationName:"outputs" type:"list"`
3605}
3606
3607// String returns the string representation
3608func (s AddFlowOutputsOutput) String() string {
3609	return awsutil.Prettify(s)
3610}
3611
3612// GoString returns the string representation
3613func (s AddFlowOutputsOutput) GoString() string {
3614	return s.String()
3615}
3616
3617// SetFlowArn sets the FlowArn field's value.
3618func (s *AddFlowOutputsOutput) SetFlowArn(v string) *AddFlowOutputsOutput {
3619	s.FlowArn = &v
3620	return s
3621}
3622
3623// SetOutputs sets the Outputs field's value.
3624func (s *AddFlowOutputsOutput) SetOutputs(v []*Output) *AddFlowOutputsOutput {
3625	s.Outputs = v
3626	return s
3627}
3628
3629// Adds sources to an existing flow.
3630type AddFlowSourcesInput struct {
3631	_ struct{} `type:"structure"`
3632
3633	// FlowArn is a required field
3634	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
3635
3636	// A list of sources that you want to add.
3637	//
3638	// Sources is a required field
3639	Sources []*SetSourceRequest `locationName:"sources" type:"list" required:"true"`
3640}
3641
3642// String returns the string representation
3643func (s AddFlowSourcesInput) String() string {
3644	return awsutil.Prettify(s)
3645}
3646
3647// GoString returns the string representation
3648func (s AddFlowSourcesInput) GoString() string {
3649	return s.String()
3650}
3651
3652// Validate inspects the fields of the type to determine if they are valid.
3653func (s *AddFlowSourcesInput) Validate() error {
3654	invalidParams := request.ErrInvalidParams{Context: "AddFlowSourcesInput"}
3655	if s.FlowArn == nil {
3656		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
3657	}
3658	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
3659		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
3660	}
3661	if s.Sources == nil {
3662		invalidParams.Add(request.NewErrParamRequired("Sources"))
3663	}
3664	if s.Sources != nil {
3665		for i, v := range s.Sources {
3666			if v == nil {
3667				continue
3668			}
3669			if err := v.Validate(); err != nil {
3670				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
3671			}
3672		}
3673	}
3674
3675	if invalidParams.Len() > 0 {
3676		return invalidParams
3677	}
3678	return nil
3679}
3680
3681// SetFlowArn sets the FlowArn field's value.
3682func (s *AddFlowSourcesInput) SetFlowArn(v string) *AddFlowSourcesInput {
3683	s.FlowArn = &v
3684	return s
3685}
3686
3687// SetSources sets the Sources field's value.
3688func (s *AddFlowSourcesInput) SetSources(v []*SetSourceRequest) *AddFlowSourcesInput {
3689	s.Sources = v
3690	return s
3691}
3692
3693// The result of a successful AddFlowSources request. The response includes
3694// the details of the newly added sources.
3695type AddFlowSourcesOutput struct {
3696	_ struct{} `type:"structure"`
3697
3698	// The ARN of the flow that these sources were added to.
3699	FlowArn *string `locationName:"flowArn" type:"string"`
3700
3701	// The details of the newly added sources.
3702	Sources []*Source `locationName:"sources" type:"list"`
3703}
3704
3705// String returns the string representation
3706func (s AddFlowSourcesOutput) String() string {
3707	return awsutil.Prettify(s)
3708}
3709
3710// GoString returns the string representation
3711func (s AddFlowSourcesOutput) GoString() string {
3712	return s.String()
3713}
3714
3715// SetFlowArn sets the FlowArn field's value.
3716func (s *AddFlowSourcesOutput) SetFlowArn(v string) *AddFlowSourcesOutput {
3717	s.FlowArn = &v
3718	return s
3719}
3720
3721// SetSources sets the Sources field's value.
3722func (s *AddFlowSourcesOutput) SetSources(v []*Source) *AddFlowSourcesOutput {
3723	s.Sources = v
3724	return s
3725}
3726
3727// Adds VPC interfaces to an existing flow.
3728type AddFlowVpcInterfacesInput struct {
3729	_ struct{} `type:"structure"`
3730
3731	// FlowArn is a required field
3732	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
3733
3734	// A list of VPC interfaces that you want to add.
3735	//
3736	// VpcInterfaces is a required field
3737	VpcInterfaces []*VpcInterfaceRequest `locationName:"vpcInterfaces" type:"list" required:"true"`
3738}
3739
3740// String returns the string representation
3741func (s AddFlowVpcInterfacesInput) String() string {
3742	return awsutil.Prettify(s)
3743}
3744
3745// GoString returns the string representation
3746func (s AddFlowVpcInterfacesInput) GoString() string {
3747	return s.String()
3748}
3749
3750// Validate inspects the fields of the type to determine if they are valid.
3751func (s *AddFlowVpcInterfacesInput) Validate() error {
3752	invalidParams := request.ErrInvalidParams{Context: "AddFlowVpcInterfacesInput"}
3753	if s.FlowArn == nil {
3754		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
3755	}
3756	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
3757		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
3758	}
3759	if s.VpcInterfaces == nil {
3760		invalidParams.Add(request.NewErrParamRequired("VpcInterfaces"))
3761	}
3762	if s.VpcInterfaces != nil {
3763		for i, v := range s.VpcInterfaces {
3764			if v == nil {
3765				continue
3766			}
3767			if err := v.Validate(); err != nil {
3768				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcInterfaces", i), err.(request.ErrInvalidParams))
3769			}
3770		}
3771	}
3772
3773	if invalidParams.Len() > 0 {
3774		return invalidParams
3775	}
3776	return nil
3777}
3778
3779// SetFlowArn sets the FlowArn field's value.
3780func (s *AddFlowVpcInterfacesInput) SetFlowArn(v string) *AddFlowVpcInterfacesInput {
3781	s.FlowArn = &v
3782	return s
3783}
3784
3785// SetVpcInterfaces sets the VpcInterfaces field's value.
3786func (s *AddFlowVpcInterfacesInput) SetVpcInterfaces(v []*VpcInterfaceRequest) *AddFlowVpcInterfacesInput {
3787	s.VpcInterfaces = v
3788	return s
3789}
3790
3791// The result of a successful AddFlowVpcInterfaces request. The response includes
3792// the details of the newly added VPC interfaces.
3793type AddFlowVpcInterfacesOutput struct {
3794	_ struct{} `type:"structure"`
3795
3796	// The ARN of the flow that these VPC interfaces were added to.
3797	FlowArn *string `locationName:"flowArn" type:"string"`
3798
3799	// The details of the newly added VPC interfaces.
3800	VpcInterfaces []*VpcInterface `locationName:"vpcInterfaces" type:"list"`
3801}
3802
3803// String returns the string representation
3804func (s AddFlowVpcInterfacesOutput) String() string {
3805	return awsutil.Prettify(s)
3806}
3807
3808// GoString returns the string representation
3809func (s AddFlowVpcInterfacesOutput) GoString() string {
3810	return s.String()
3811}
3812
3813// SetFlowArn sets the FlowArn field's value.
3814func (s *AddFlowVpcInterfacesOutput) SetFlowArn(v string) *AddFlowVpcInterfacesOutput {
3815	s.FlowArn = &v
3816	return s
3817}
3818
3819// SetVpcInterfaces sets the VpcInterfaces field's value.
3820func (s *AddFlowVpcInterfacesOutput) SetVpcInterfaces(v []*VpcInterface) *AddFlowVpcInterfacesOutput {
3821	s.VpcInterfaces = v
3822	return s
3823}
3824
3825// The media stream that you want to add to the flow.
3826type AddMediaStreamRequest struct {
3827	_ struct{} `type:"structure"`
3828
3829	// The attributes that you want to assign to the new media stream.
3830	Attributes *MediaStreamAttributesRequest `locationName:"attributes" type:"structure"`
3831
3832	// The sample rate (in Hz) for the stream. If the media stream type is video
3833	// or ancillary data, set this value to 90000. If the media stream type is audio,
3834	// set this value to either 48000 or 96000.
3835	ClockRate *int64 `locationName:"clockRate" type:"integer"`
3836
3837	// A description that can help you quickly identify what your media stream is
3838	// used for.
3839	Description *string `locationName:"description" type:"string"`
3840
3841	// A unique identifier for the media stream.
3842	//
3843	// MediaStreamId is a required field
3844	MediaStreamId *int64 `locationName:"mediaStreamId" type:"integer" required:"true"`
3845
3846	// A name that helps you distinguish one media stream from another.
3847	//
3848	// MediaStreamName is a required field
3849	MediaStreamName *string `locationName:"mediaStreamName" type:"string" required:"true"`
3850
3851	// The type of media stream.
3852	//
3853	// MediaStreamType is a required field
3854	MediaStreamType *string `locationName:"mediaStreamType" type:"string" required:"true" enum:"MediaStreamType"`
3855
3856	// The resolution of the video.
3857	VideoFormat *string `locationName:"videoFormat" type:"string"`
3858}
3859
3860// String returns the string representation
3861func (s AddMediaStreamRequest) String() string {
3862	return awsutil.Prettify(s)
3863}
3864
3865// GoString returns the string representation
3866func (s AddMediaStreamRequest) GoString() string {
3867	return s.String()
3868}
3869
3870// Validate inspects the fields of the type to determine if they are valid.
3871func (s *AddMediaStreamRequest) Validate() error {
3872	invalidParams := request.ErrInvalidParams{Context: "AddMediaStreamRequest"}
3873	if s.MediaStreamId == nil {
3874		invalidParams.Add(request.NewErrParamRequired("MediaStreamId"))
3875	}
3876	if s.MediaStreamName == nil {
3877		invalidParams.Add(request.NewErrParamRequired("MediaStreamName"))
3878	}
3879	if s.MediaStreamType == nil {
3880		invalidParams.Add(request.NewErrParamRequired("MediaStreamType"))
3881	}
3882
3883	if invalidParams.Len() > 0 {
3884		return invalidParams
3885	}
3886	return nil
3887}
3888
3889// SetAttributes sets the Attributes field's value.
3890func (s *AddMediaStreamRequest) SetAttributes(v *MediaStreamAttributesRequest) *AddMediaStreamRequest {
3891	s.Attributes = v
3892	return s
3893}
3894
3895// SetClockRate sets the ClockRate field's value.
3896func (s *AddMediaStreamRequest) SetClockRate(v int64) *AddMediaStreamRequest {
3897	s.ClockRate = &v
3898	return s
3899}
3900
3901// SetDescription sets the Description field's value.
3902func (s *AddMediaStreamRequest) SetDescription(v string) *AddMediaStreamRequest {
3903	s.Description = &v
3904	return s
3905}
3906
3907// SetMediaStreamId sets the MediaStreamId field's value.
3908func (s *AddMediaStreamRequest) SetMediaStreamId(v int64) *AddMediaStreamRequest {
3909	s.MediaStreamId = &v
3910	return s
3911}
3912
3913// SetMediaStreamName sets the MediaStreamName field's value.
3914func (s *AddMediaStreamRequest) SetMediaStreamName(v string) *AddMediaStreamRequest {
3915	s.MediaStreamName = &v
3916	return s
3917}
3918
3919// SetMediaStreamType sets the MediaStreamType field's value.
3920func (s *AddMediaStreamRequest) SetMediaStreamType(v string) *AddMediaStreamRequest {
3921	s.MediaStreamType = &v
3922	return s
3923}
3924
3925// SetVideoFormat sets the VideoFormat field's value.
3926func (s *AddMediaStreamRequest) SetVideoFormat(v string) *AddMediaStreamRequest {
3927	s.VideoFormat = &v
3928	return s
3929}
3930
3931// The output that you want to add to this flow.
3932type AddOutputRequest struct {
3933	_ struct{} `type:"structure"`
3934
3935	// The range of IP addresses that should be allowed to initiate output requests
3936	// to this flow. These IP addresses should be in the form of a Classless Inter-Domain
3937	// Routing (CIDR) block; for example, 10.0.0.0/16.
3938	CidrAllowList []*string `locationName:"cidrAllowList" type:"list"`
3939
3940	// A description of the output. This description appears only on the AWS Elemental
3941	// MediaConnect console and will not be seen by the end user.
3942	Description *string `locationName:"description" type:"string"`
3943
3944	// The IP address from which video will be sent to output destinations.
3945	Destination *string `locationName:"destination" type:"string"`
3946
3947	// The type of key used for the encryption. If no keyType is provided, the service
3948	// will use the default setting (static-key).
3949	Encryption *Encryption `locationName:"encryption" type:"structure"`
3950
3951	// The maximum latency in milliseconds for Zixi-based streams.
3952	MaxLatency *int64 `locationName:"maxLatency" type:"integer"`
3953
3954	// The media streams that are associated with the output, and the parameters
3955	// for those associations.
3956	MediaStreamOutputConfigurations []*MediaStreamOutputConfigurationRequest `locationName:"mediaStreamOutputConfigurations" type:"list"`
3957
3958	// The minimum latency in milliseconds for SRT-based streams. In streams that
3959	// use the SRT protocol, this value that you set on your MediaConnect source
3960	// or output represents the minimal potential latency of that connection. The
3961	// latency of the stream is set to the highest number between the sender’s
3962	// minimum latency and the receiver’s minimum latency.
3963	MinLatency *int64 `locationName:"minLatency" type:"integer"`
3964
3965	// The name of the output. This value must be unique within the current flow.
3966	Name *string `locationName:"name" type:"string"`
3967
3968	// The port to use when content is distributed to this output.
3969	Port *int64 `locationName:"port" type:"integer"`
3970
3971	// The protocol to use for the output.
3972	//
3973	// Protocol is a required field
3974	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"Protocol"`
3975
3976	// The remote ID for the Zixi-pull output stream.
3977	RemoteId *string `locationName:"remoteId" type:"string"`
3978
3979	// The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
3980	SmoothingLatency *int64 `locationName:"smoothingLatency" type:"integer"`
3981
3982	// The stream ID that you want to use for this transport. This parameter applies
3983	// only to Zixi-based streams.
3984	StreamId *string `locationName:"streamId" type:"string"`
3985
3986	// The name of the VPC interface attachment to use for this output.
3987	VpcInterfaceAttachment *VpcInterfaceAttachment `locationName:"vpcInterfaceAttachment" type:"structure"`
3988}
3989
3990// String returns the string representation
3991func (s AddOutputRequest) String() string {
3992	return awsutil.Prettify(s)
3993}
3994
3995// GoString returns the string representation
3996func (s AddOutputRequest) GoString() string {
3997	return s.String()
3998}
3999
4000// Validate inspects the fields of the type to determine if they are valid.
4001func (s *AddOutputRequest) Validate() error {
4002	invalidParams := request.ErrInvalidParams{Context: "AddOutputRequest"}
4003	if s.Protocol == nil {
4004		invalidParams.Add(request.NewErrParamRequired("Protocol"))
4005	}
4006	if s.Encryption != nil {
4007		if err := s.Encryption.Validate(); err != nil {
4008			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
4009		}
4010	}
4011	if s.MediaStreamOutputConfigurations != nil {
4012		for i, v := range s.MediaStreamOutputConfigurations {
4013			if v == nil {
4014				continue
4015			}
4016			if err := v.Validate(); err != nil {
4017				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaStreamOutputConfigurations", i), err.(request.ErrInvalidParams))
4018			}
4019		}
4020	}
4021
4022	if invalidParams.Len() > 0 {
4023		return invalidParams
4024	}
4025	return nil
4026}
4027
4028// SetCidrAllowList sets the CidrAllowList field's value.
4029func (s *AddOutputRequest) SetCidrAllowList(v []*string) *AddOutputRequest {
4030	s.CidrAllowList = v
4031	return s
4032}
4033
4034// SetDescription sets the Description field's value.
4035func (s *AddOutputRequest) SetDescription(v string) *AddOutputRequest {
4036	s.Description = &v
4037	return s
4038}
4039
4040// SetDestination sets the Destination field's value.
4041func (s *AddOutputRequest) SetDestination(v string) *AddOutputRequest {
4042	s.Destination = &v
4043	return s
4044}
4045
4046// SetEncryption sets the Encryption field's value.
4047func (s *AddOutputRequest) SetEncryption(v *Encryption) *AddOutputRequest {
4048	s.Encryption = v
4049	return s
4050}
4051
4052// SetMaxLatency sets the MaxLatency field's value.
4053func (s *AddOutputRequest) SetMaxLatency(v int64) *AddOutputRequest {
4054	s.MaxLatency = &v
4055	return s
4056}
4057
4058// SetMediaStreamOutputConfigurations sets the MediaStreamOutputConfigurations field's value.
4059func (s *AddOutputRequest) SetMediaStreamOutputConfigurations(v []*MediaStreamOutputConfigurationRequest) *AddOutputRequest {
4060	s.MediaStreamOutputConfigurations = v
4061	return s
4062}
4063
4064// SetMinLatency sets the MinLatency field's value.
4065func (s *AddOutputRequest) SetMinLatency(v int64) *AddOutputRequest {
4066	s.MinLatency = &v
4067	return s
4068}
4069
4070// SetName sets the Name field's value.
4071func (s *AddOutputRequest) SetName(v string) *AddOutputRequest {
4072	s.Name = &v
4073	return s
4074}
4075
4076// SetPort sets the Port field's value.
4077func (s *AddOutputRequest) SetPort(v int64) *AddOutputRequest {
4078	s.Port = &v
4079	return s
4080}
4081
4082// SetProtocol sets the Protocol field's value.
4083func (s *AddOutputRequest) SetProtocol(v string) *AddOutputRequest {
4084	s.Protocol = &v
4085	return s
4086}
4087
4088// SetRemoteId sets the RemoteId field's value.
4089func (s *AddOutputRequest) SetRemoteId(v string) *AddOutputRequest {
4090	s.RemoteId = &v
4091	return s
4092}
4093
4094// SetSmoothingLatency sets the SmoothingLatency field's value.
4095func (s *AddOutputRequest) SetSmoothingLatency(v int64) *AddOutputRequest {
4096	s.SmoothingLatency = &v
4097	return s
4098}
4099
4100// SetStreamId sets the StreamId field's value.
4101func (s *AddOutputRequest) SetStreamId(v string) *AddOutputRequest {
4102	s.StreamId = &v
4103	return s
4104}
4105
4106// SetVpcInterfaceAttachment sets the VpcInterfaceAttachment field's value.
4107func (s *AddOutputRequest) SetVpcInterfaceAttachment(v *VpcInterfaceAttachment) *AddOutputRequest {
4108	s.VpcInterfaceAttachment = v
4109	return s
4110}
4111
4112// Exception raised by AWS Elemental MediaConnect. See the error message and
4113// documentation for the operation for more information on the cause of this
4114// exception.
4115type BadRequestException struct {
4116	_            struct{}                  `type:"structure"`
4117	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4118
4119	Message_ *string `locationName:"message" type:"string"`
4120}
4121
4122// String returns the string representation
4123func (s BadRequestException) String() string {
4124	return awsutil.Prettify(s)
4125}
4126
4127// GoString returns the string representation
4128func (s BadRequestException) GoString() string {
4129	return s.String()
4130}
4131
4132func newErrorBadRequestException(v protocol.ResponseMetadata) error {
4133	return &BadRequestException{
4134		RespMetadata: v,
4135	}
4136}
4137
4138// Code returns the exception type name.
4139func (s *BadRequestException) Code() string {
4140	return "BadRequestException"
4141}
4142
4143// Message returns the exception's message.
4144func (s *BadRequestException) Message() string {
4145	if s.Message_ != nil {
4146		return *s.Message_
4147	}
4148	return ""
4149}
4150
4151// OrigErr always returns nil, satisfies awserr.Error interface.
4152func (s *BadRequestException) OrigErr() error {
4153	return nil
4154}
4155
4156func (s *BadRequestException) Error() string {
4157	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4158}
4159
4160// Status code returns the HTTP status code for the request's response error.
4161func (s *BadRequestException) StatusCode() int {
4162	return s.RespMetadata.StatusCode
4163}
4164
4165// RequestID returns the service's response RequestID for request.
4166func (s *BadRequestException) RequestID() string {
4167	return s.RespMetadata.RequestID
4168}
4169
4170// Exception raised by AWS Elemental MediaConnect. See the error message and
4171// documentation for the operation for more information on the cause of this
4172// exception.
4173type CreateFlow420Exception struct {
4174	_            struct{}                  `type:"structure"`
4175	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4176
4177	Message_ *string `locationName:"message" type:"string"`
4178}
4179
4180// String returns the string representation
4181func (s CreateFlow420Exception) String() string {
4182	return awsutil.Prettify(s)
4183}
4184
4185// GoString returns the string representation
4186func (s CreateFlow420Exception) GoString() string {
4187	return s.String()
4188}
4189
4190func newErrorCreateFlow420Exception(v protocol.ResponseMetadata) error {
4191	return &CreateFlow420Exception{
4192		RespMetadata: v,
4193	}
4194}
4195
4196// Code returns the exception type name.
4197func (s *CreateFlow420Exception) Code() string {
4198	return "CreateFlow420Exception"
4199}
4200
4201// Message returns the exception's message.
4202func (s *CreateFlow420Exception) Message() string {
4203	if s.Message_ != nil {
4204		return *s.Message_
4205	}
4206	return ""
4207}
4208
4209// OrigErr always returns nil, satisfies awserr.Error interface.
4210func (s *CreateFlow420Exception) OrigErr() error {
4211	return nil
4212}
4213
4214func (s *CreateFlow420Exception) Error() string {
4215	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4216}
4217
4218// Status code returns the HTTP status code for the request's response error.
4219func (s *CreateFlow420Exception) StatusCode() int {
4220	return s.RespMetadata.StatusCode
4221}
4222
4223// RequestID returns the service's response RequestID for request.
4224func (s *CreateFlow420Exception) RequestID() string {
4225	return s.RespMetadata.RequestID
4226}
4227
4228// Creates a new flow. The request must include one source. The request optionally
4229// can include outputs (up to 50) and entitlements (up to 50.)
4230type CreateFlowInput struct {
4231	_ struct{} `type:"structure"`
4232
4233	// The Availability Zone that you want to create the flow in. These options
4234	// are limited to the Availability Zones within the current AWS Region.
4235	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
4236
4237	// The entitlements that you want to grant on a flow.
4238	Entitlements []*GrantEntitlementRequest `locationName:"entitlements" type:"list"`
4239
4240	// The media streams that you want to add to the flow. You can associate these
4241	// media streams with sources and outputs on the flow.
4242	MediaStreams []*AddMediaStreamRequest `locationName:"mediaStreams" type:"list"`
4243
4244	// The name of the flow.
4245	//
4246	// Name is a required field
4247	Name *string `locationName:"name" type:"string" required:"true"`
4248
4249	// The outputs that you want to add to this flow.
4250	Outputs []*AddOutputRequest `locationName:"outputs" type:"list"`
4251
4252	// The settings for the source of the flow.
4253	Source *SetSourceRequest `locationName:"source" type:"structure"`
4254
4255	// The settings for source failover
4256	SourceFailoverConfig *FailoverConfig `locationName:"sourceFailoverConfig" type:"structure"`
4257
4258	Sources []*SetSourceRequest `locationName:"sources" type:"list"`
4259
4260	// The VPC interfaces you want on the flow.
4261	VpcInterfaces []*VpcInterfaceRequest `locationName:"vpcInterfaces" type:"list"`
4262}
4263
4264// String returns the string representation
4265func (s CreateFlowInput) String() string {
4266	return awsutil.Prettify(s)
4267}
4268
4269// GoString returns the string representation
4270func (s CreateFlowInput) GoString() string {
4271	return s.String()
4272}
4273
4274// Validate inspects the fields of the type to determine if they are valid.
4275func (s *CreateFlowInput) Validate() error {
4276	invalidParams := request.ErrInvalidParams{Context: "CreateFlowInput"}
4277	if s.Name == nil {
4278		invalidParams.Add(request.NewErrParamRequired("Name"))
4279	}
4280	if s.Entitlements != nil {
4281		for i, v := range s.Entitlements {
4282			if v == nil {
4283				continue
4284			}
4285			if err := v.Validate(); err != nil {
4286				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entitlements", i), err.(request.ErrInvalidParams))
4287			}
4288		}
4289	}
4290	if s.MediaStreams != nil {
4291		for i, v := range s.MediaStreams {
4292			if v == nil {
4293				continue
4294			}
4295			if err := v.Validate(); err != nil {
4296				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaStreams", i), err.(request.ErrInvalidParams))
4297			}
4298		}
4299	}
4300	if s.Outputs != nil {
4301		for i, v := range s.Outputs {
4302			if v == nil {
4303				continue
4304			}
4305			if err := v.Validate(); err != nil {
4306				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
4307			}
4308		}
4309	}
4310	if s.Source != nil {
4311		if err := s.Source.Validate(); err != nil {
4312			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
4313		}
4314	}
4315	if s.Sources != nil {
4316		for i, v := range s.Sources {
4317			if v == nil {
4318				continue
4319			}
4320			if err := v.Validate(); err != nil {
4321				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
4322			}
4323		}
4324	}
4325	if s.VpcInterfaces != nil {
4326		for i, v := range s.VpcInterfaces {
4327			if v == nil {
4328				continue
4329			}
4330			if err := v.Validate(); err != nil {
4331				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcInterfaces", i), err.(request.ErrInvalidParams))
4332			}
4333		}
4334	}
4335
4336	if invalidParams.Len() > 0 {
4337		return invalidParams
4338	}
4339	return nil
4340}
4341
4342// SetAvailabilityZone sets the AvailabilityZone field's value.
4343func (s *CreateFlowInput) SetAvailabilityZone(v string) *CreateFlowInput {
4344	s.AvailabilityZone = &v
4345	return s
4346}
4347
4348// SetEntitlements sets the Entitlements field's value.
4349func (s *CreateFlowInput) SetEntitlements(v []*GrantEntitlementRequest) *CreateFlowInput {
4350	s.Entitlements = v
4351	return s
4352}
4353
4354// SetMediaStreams sets the MediaStreams field's value.
4355func (s *CreateFlowInput) SetMediaStreams(v []*AddMediaStreamRequest) *CreateFlowInput {
4356	s.MediaStreams = v
4357	return s
4358}
4359
4360// SetName sets the Name field's value.
4361func (s *CreateFlowInput) SetName(v string) *CreateFlowInput {
4362	s.Name = &v
4363	return s
4364}
4365
4366// SetOutputs sets the Outputs field's value.
4367func (s *CreateFlowInput) SetOutputs(v []*AddOutputRequest) *CreateFlowInput {
4368	s.Outputs = v
4369	return s
4370}
4371
4372// SetSource sets the Source field's value.
4373func (s *CreateFlowInput) SetSource(v *SetSourceRequest) *CreateFlowInput {
4374	s.Source = v
4375	return s
4376}
4377
4378// SetSourceFailoverConfig sets the SourceFailoverConfig field's value.
4379func (s *CreateFlowInput) SetSourceFailoverConfig(v *FailoverConfig) *CreateFlowInput {
4380	s.SourceFailoverConfig = v
4381	return s
4382}
4383
4384// SetSources sets the Sources field's value.
4385func (s *CreateFlowInput) SetSources(v []*SetSourceRequest) *CreateFlowInput {
4386	s.Sources = v
4387	return s
4388}
4389
4390// SetVpcInterfaces sets the VpcInterfaces field's value.
4391func (s *CreateFlowInput) SetVpcInterfaces(v []*VpcInterfaceRequest) *CreateFlowInput {
4392	s.VpcInterfaces = v
4393	return s
4394}
4395
4396// The result of a successful CreateFlow request.
4397type CreateFlowOutput struct {
4398	_ struct{} `type:"structure"`
4399
4400	// The settings for a flow, including its source, outputs, and entitlements.
4401	Flow *Flow `locationName:"flow" type:"structure"`
4402}
4403
4404// String returns the string representation
4405func (s CreateFlowOutput) String() string {
4406	return awsutil.Prettify(s)
4407}
4408
4409// GoString returns the string representation
4410func (s CreateFlowOutput) GoString() string {
4411	return s.String()
4412}
4413
4414// SetFlow sets the Flow field's value.
4415func (s *CreateFlowOutput) SetFlow(v *Flow) *CreateFlowOutput {
4416	s.Flow = v
4417	return s
4418}
4419
4420type DeleteFlowInput struct {
4421	_ struct{} `type:"structure"`
4422
4423	// FlowArn is a required field
4424	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
4425}
4426
4427// String returns the string representation
4428func (s DeleteFlowInput) String() string {
4429	return awsutil.Prettify(s)
4430}
4431
4432// GoString returns the string representation
4433func (s DeleteFlowInput) GoString() string {
4434	return s.String()
4435}
4436
4437// Validate inspects the fields of the type to determine if they are valid.
4438func (s *DeleteFlowInput) Validate() error {
4439	invalidParams := request.ErrInvalidParams{Context: "DeleteFlowInput"}
4440	if s.FlowArn == nil {
4441		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
4442	}
4443	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
4444		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
4445	}
4446
4447	if invalidParams.Len() > 0 {
4448		return invalidParams
4449	}
4450	return nil
4451}
4452
4453// SetFlowArn sets the FlowArn field's value.
4454func (s *DeleteFlowInput) SetFlowArn(v string) *DeleteFlowInput {
4455	s.FlowArn = &v
4456	return s
4457}
4458
4459// The result of a successful DeleteFlow request.
4460type DeleteFlowOutput struct {
4461	_ struct{} `type:"structure"`
4462
4463	// The ARN of the flow that was deleted.
4464	FlowArn *string `locationName:"flowArn" type:"string"`
4465
4466	// The status of the flow when the DeleteFlow process begins.
4467	Status *string `locationName:"status" type:"string" enum:"Status"`
4468}
4469
4470// String returns the string representation
4471func (s DeleteFlowOutput) String() string {
4472	return awsutil.Prettify(s)
4473}
4474
4475// GoString returns the string representation
4476func (s DeleteFlowOutput) GoString() string {
4477	return s.String()
4478}
4479
4480// SetFlowArn sets the FlowArn field's value.
4481func (s *DeleteFlowOutput) SetFlowArn(v string) *DeleteFlowOutput {
4482	s.FlowArn = &v
4483	return s
4484}
4485
4486// SetStatus sets the Status field's value.
4487func (s *DeleteFlowOutput) SetStatus(v string) *DeleteFlowOutput {
4488	s.Status = &v
4489	return s
4490}
4491
4492type DescribeFlowInput struct {
4493	_ struct{} `type:"structure"`
4494
4495	// FlowArn is a required field
4496	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
4497}
4498
4499// String returns the string representation
4500func (s DescribeFlowInput) String() string {
4501	return awsutil.Prettify(s)
4502}
4503
4504// GoString returns the string representation
4505func (s DescribeFlowInput) GoString() string {
4506	return s.String()
4507}
4508
4509// Validate inspects the fields of the type to determine if they are valid.
4510func (s *DescribeFlowInput) Validate() error {
4511	invalidParams := request.ErrInvalidParams{Context: "DescribeFlowInput"}
4512	if s.FlowArn == nil {
4513		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
4514	}
4515	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
4516		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
4517	}
4518
4519	if invalidParams.Len() > 0 {
4520		return invalidParams
4521	}
4522	return nil
4523}
4524
4525// SetFlowArn sets the FlowArn field's value.
4526func (s *DescribeFlowInput) SetFlowArn(v string) *DescribeFlowInput {
4527	s.FlowArn = &v
4528	return s
4529}
4530
4531// The result of a successful DescribeFlow request.
4532type DescribeFlowOutput struct {
4533	_ struct{} `type:"structure"`
4534
4535	// The settings for a flow, including its source, outputs, and entitlements.
4536	Flow *Flow `locationName:"flow" type:"structure"`
4537
4538	// Messages that provide the state of the flow.
4539	Messages *Messages `locationName:"messages" type:"structure"`
4540}
4541
4542// String returns the string representation
4543func (s DescribeFlowOutput) String() string {
4544	return awsutil.Prettify(s)
4545}
4546
4547// GoString returns the string representation
4548func (s DescribeFlowOutput) GoString() string {
4549	return s.String()
4550}
4551
4552// SetFlow sets the Flow field's value.
4553func (s *DescribeFlowOutput) SetFlow(v *Flow) *DescribeFlowOutput {
4554	s.Flow = v
4555	return s
4556}
4557
4558// SetMessages sets the Messages field's value.
4559func (s *DescribeFlowOutput) SetMessages(v *Messages) *DescribeFlowOutput {
4560	s.Messages = v
4561	return s
4562}
4563
4564type DescribeOfferingInput struct {
4565	_ struct{} `type:"structure"`
4566
4567	// OfferingArn is a required field
4568	OfferingArn *string `location:"uri" locationName:"offeringArn" type:"string" required:"true"`
4569}
4570
4571// String returns the string representation
4572func (s DescribeOfferingInput) String() string {
4573	return awsutil.Prettify(s)
4574}
4575
4576// GoString returns the string representation
4577func (s DescribeOfferingInput) GoString() string {
4578	return s.String()
4579}
4580
4581// Validate inspects the fields of the type to determine if they are valid.
4582func (s *DescribeOfferingInput) Validate() error {
4583	invalidParams := request.ErrInvalidParams{Context: "DescribeOfferingInput"}
4584	if s.OfferingArn == nil {
4585		invalidParams.Add(request.NewErrParamRequired("OfferingArn"))
4586	}
4587	if s.OfferingArn != nil && len(*s.OfferingArn) < 1 {
4588		invalidParams.Add(request.NewErrParamMinLen("OfferingArn", 1))
4589	}
4590
4591	if invalidParams.Len() > 0 {
4592		return invalidParams
4593	}
4594	return nil
4595}
4596
4597// SetOfferingArn sets the OfferingArn field's value.
4598func (s *DescribeOfferingInput) SetOfferingArn(v string) *DescribeOfferingInput {
4599	s.OfferingArn = &v
4600	return s
4601}
4602
4603// The result of a successful DescribeOffering request.
4604type DescribeOfferingOutput struct {
4605	_ struct{} `type:"structure"`
4606
4607	// A savings plan that reserves a certain amount of outbound bandwidth usage
4608	// at a discounted rate each month over a period of time.
4609	Offering *Offering `locationName:"offering" type:"structure"`
4610}
4611
4612// String returns the string representation
4613func (s DescribeOfferingOutput) String() string {
4614	return awsutil.Prettify(s)
4615}
4616
4617// GoString returns the string representation
4618func (s DescribeOfferingOutput) GoString() string {
4619	return s.String()
4620}
4621
4622// SetOffering sets the Offering field's value.
4623func (s *DescribeOfferingOutput) SetOffering(v *Offering) *DescribeOfferingOutput {
4624	s.Offering = v
4625	return s
4626}
4627
4628type DescribeReservationInput struct {
4629	_ struct{} `type:"structure"`
4630
4631	// ReservationArn is a required field
4632	ReservationArn *string `location:"uri" locationName:"reservationArn" type:"string" required:"true"`
4633}
4634
4635// String returns the string representation
4636func (s DescribeReservationInput) String() string {
4637	return awsutil.Prettify(s)
4638}
4639
4640// GoString returns the string representation
4641func (s DescribeReservationInput) GoString() string {
4642	return s.String()
4643}
4644
4645// Validate inspects the fields of the type to determine if they are valid.
4646func (s *DescribeReservationInput) Validate() error {
4647	invalidParams := request.ErrInvalidParams{Context: "DescribeReservationInput"}
4648	if s.ReservationArn == nil {
4649		invalidParams.Add(request.NewErrParamRequired("ReservationArn"))
4650	}
4651	if s.ReservationArn != nil && len(*s.ReservationArn) < 1 {
4652		invalidParams.Add(request.NewErrParamMinLen("ReservationArn", 1))
4653	}
4654
4655	if invalidParams.Len() > 0 {
4656		return invalidParams
4657	}
4658	return nil
4659}
4660
4661// SetReservationArn sets the ReservationArn field's value.
4662func (s *DescribeReservationInput) SetReservationArn(v string) *DescribeReservationInput {
4663	s.ReservationArn = &v
4664	return s
4665}
4666
4667// The result of a successful DescribeReservation request.
4668type DescribeReservationOutput struct {
4669	_ struct{} `type:"structure"`
4670
4671	// A pricing agreement for a discounted rate for a specific outbound bandwidth
4672	// that your MediaConnect account will use each month over a specific time period.
4673	// The discounted rate in the reservation applies to outbound bandwidth for
4674	// all flows from your account until your account reaches the amount of bandwidth
4675	// in your reservation. If you use more outbound bandwidth than the agreed upon
4676	// amount in a single month, the overage is charged at the on-demand rate.
4677	Reservation *Reservation `locationName:"reservation" type:"structure"`
4678}
4679
4680// String returns the string representation
4681func (s DescribeReservationOutput) String() string {
4682	return awsutil.Prettify(s)
4683}
4684
4685// GoString returns the string representation
4686func (s DescribeReservationOutput) GoString() string {
4687	return s.String()
4688}
4689
4690// SetReservation sets the Reservation field's value.
4691func (s *DescribeReservationOutput) SetReservation(v *Reservation) *DescribeReservationOutput {
4692	s.Reservation = v
4693	return s
4694}
4695
4696// The transport parameters that are associated with an outbound media stream.
4697type DestinationConfiguration struct {
4698	_ struct{} `type:"structure"`
4699
4700	// The IP address where contents of the media stream will be sent.
4701	//
4702	// DestinationIp is a required field
4703	DestinationIp *string `locationName:"destinationIp" type:"string" required:"true"`
4704
4705	// The port to use when the content of the media stream is distributed to the
4706	// output.
4707	//
4708	// DestinationPort is a required field
4709	DestinationPort *int64 `locationName:"destinationPort" type:"integer" required:"true"`
4710
4711	// The VPC interface that is used for the media stream associated with the output.
4712	//
4713	// Interface is a required field
4714	Interface *Interface `locationName:"interface" type:"structure" required:"true"`
4715
4716	// The IP address that the receiver requires in order to establish a connection
4717	// with the flow. This value is represented by the elastic network interface
4718	// IP address of the VPC. This field applies only to outputs that use the CDI
4719	// or ST 2110 JPEG XS protocol.
4720	//
4721	// OutboundIp is a required field
4722	OutboundIp *string `locationName:"outboundIp" type:"string" required:"true"`
4723}
4724
4725// String returns the string representation
4726func (s DestinationConfiguration) String() string {
4727	return awsutil.Prettify(s)
4728}
4729
4730// GoString returns the string representation
4731func (s DestinationConfiguration) GoString() string {
4732	return s.String()
4733}
4734
4735// SetDestinationIp sets the DestinationIp field's value.
4736func (s *DestinationConfiguration) SetDestinationIp(v string) *DestinationConfiguration {
4737	s.DestinationIp = &v
4738	return s
4739}
4740
4741// SetDestinationPort sets the DestinationPort field's value.
4742func (s *DestinationConfiguration) SetDestinationPort(v int64) *DestinationConfiguration {
4743	s.DestinationPort = &v
4744	return s
4745}
4746
4747// SetInterface sets the Interface field's value.
4748func (s *DestinationConfiguration) SetInterface(v *Interface) *DestinationConfiguration {
4749	s.Interface = v
4750	return s
4751}
4752
4753// SetOutboundIp sets the OutboundIp field's value.
4754func (s *DestinationConfiguration) SetOutboundIp(v string) *DestinationConfiguration {
4755	s.OutboundIp = &v
4756	return s
4757}
4758
4759// The transport parameters that you want to associate with an outbound media
4760// stream.
4761type DestinationConfigurationRequest struct {
4762	_ struct{} `type:"structure"`
4763
4764	// The IP address where you want MediaConnect to send contents of the media
4765	// stream.
4766	//
4767	// DestinationIp is a required field
4768	DestinationIp *string `locationName:"destinationIp" type:"string" required:"true"`
4769
4770	// The port that you want MediaConnect to use when it distributes the media
4771	// stream to the output.
4772	//
4773	// DestinationPort is a required field
4774	DestinationPort *int64 `locationName:"destinationPort" type:"integer" required:"true"`
4775
4776	// The VPC interface that you want to use for the media stream associated with
4777	// the output.
4778	//
4779	// Interface is a required field
4780	Interface *InterfaceRequest `locationName:"interface" type:"structure" required:"true"`
4781}
4782
4783// String returns the string representation
4784func (s DestinationConfigurationRequest) String() string {
4785	return awsutil.Prettify(s)
4786}
4787
4788// GoString returns the string representation
4789func (s DestinationConfigurationRequest) GoString() string {
4790	return s.String()
4791}
4792
4793// Validate inspects the fields of the type to determine if they are valid.
4794func (s *DestinationConfigurationRequest) Validate() error {
4795	invalidParams := request.ErrInvalidParams{Context: "DestinationConfigurationRequest"}
4796	if s.DestinationIp == nil {
4797		invalidParams.Add(request.NewErrParamRequired("DestinationIp"))
4798	}
4799	if s.DestinationPort == nil {
4800		invalidParams.Add(request.NewErrParamRequired("DestinationPort"))
4801	}
4802	if s.Interface == nil {
4803		invalidParams.Add(request.NewErrParamRequired("Interface"))
4804	}
4805	if s.Interface != nil {
4806		if err := s.Interface.Validate(); err != nil {
4807			invalidParams.AddNested("Interface", err.(request.ErrInvalidParams))
4808		}
4809	}
4810
4811	if invalidParams.Len() > 0 {
4812		return invalidParams
4813	}
4814	return nil
4815}
4816
4817// SetDestinationIp sets the DestinationIp field's value.
4818func (s *DestinationConfigurationRequest) SetDestinationIp(v string) *DestinationConfigurationRequest {
4819	s.DestinationIp = &v
4820	return s
4821}
4822
4823// SetDestinationPort sets the DestinationPort field's value.
4824func (s *DestinationConfigurationRequest) SetDestinationPort(v int64) *DestinationConfigurationRequest {
4825	s.DestinationPort = &v
4826	return s
4827}
4828
4829// SetInterface sets the Interface field's value.
4830func (s *DestinationConfigurationRequest) SetInterface(v *InterfaceRequest) *DestinationConfigurationRequest {
4831	s.Interface = v
4832	return s
4833}
4834
4835// A collection of parameters that determine how MediaConnect will convert the
4836// content. These fields only apply to outputs on flows that have a CDI source.
4837type EncodingParameters struct {
4838	_ struct{} `type:"structure"`
4839
4840	// A value that is used to calculate compression for an output. The bitrate
4841	// of the output is calculated as follows: Output bitrate = (1 / compressionFactor)
4842	// * (source bitrate) This property only applies to outputs that use the ST
4843	// 2110 JPEG XS protocol, with a flow source that uses the CDI protocol. Valid
4844	// values are floating point numbers in the range of 3.0 to 10.0, inclusive.
4845	//
4846	// CompressionFactor is a required field
4847	CompressionFactor *float64 `locationName:"compressionFactor" type:"double" required:"true"`
4848
4849	// A setting on the encoder that drives compression settings. This property
4850	// only applies to video media streams associated with outputs that use the
4851	// ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol.
4852	//
4853	// EncoderProfile is a required field
4854	EncoderProfile *string `locationName:"encoderProfile" type:"string" required:"true" enum:"EncoderProfile"`
4855}
4856
4857// String returns the string representation
4858func (s EncodingParameters) String() string {
4859	return awsutil.Prettify(s)
4860}
4861
4862// GoString returns the string representation
4863func (s EncodingParameters) GoString() string {
4864	return s.String()
4865}
4866
4867// SetCompressionFactor sets the CompressionFactor field's value.
4868func (s *EncodingParameters) SetCompressionFactor(v float64) *EncodingParameters {
4869	s.CompressionFactor = &v
4870	return s
4871}
4872
4873// SetEncoderProfile sets the EncoderProfile field's value.
4874func (s *EncodingParameters) SetEncoderProfile(v string) *EncodingParameters {
4875	s.EncoderProfile = &v
4876	return s
4877}
4878
4879// A collection of parameters that determine how MediaConnect will convert the
4880// content. These fields only apply to outputs on flows that have a CDI source.
4881type EncodingParametersRequest struct {
4882	_ struct{} `type:"structure"`
4883
4884	// A value that is used to calculate compression for an output. The bitrate
4885	// of the output is calculated as follows: Output bitrate = (1 / compressionFactor)
4886	// * (source bitrate) This property only applies to outputs that use the ST
4887	// 2110 JPEG XS protocol, with a flow source that uses the CDI protocol. Valid
4888	// values are floating point numbers in the range of 3.0 to 10.0, inclusive.
4889	//
4890	// CompressionFactor is a required field
4891	CompressionFactor *float64 `locationName:"compressionFactor" type:"double" required:"true"`
4892
4893	// A setting on the encoder that drives compression settings. This property
4894	// only applies to video media streams associated with outputs that use the
4895	// ST 2110 JPEG XS protocol, if at least one source on the flow uses the CDI
4896	// protocol.
4897	//
4898	// EncoderProfile is a required field
4899	EncoderProfile *string `locationName:"encoderProfile" type:"string" required:"true" enum:"EncoderProfile"`
4900}
4901
4902// String returns the string representation
4903func (s EncodingParametersRequest) String() string {
4904	return awsutil.Prettify(s)
4905}
4906
4907// GoString returns the string representation
4908func (s EncodingParametersRequest) GoString() string {
4909	return s.String()
4910}
4911
4912// Validate inspects the fields of the type to determine if they are valid.
4913func (s *EncodingParametersRequest) Validate() error {
4914	invalidParams := request.ErrInvalidParams{Context: "EncodingParametersRequest"}
4915	if s.CompressionFactor == nil {
4916		invalidParams.Add(request.NewErrParamRequired("CompressionFactor"))
4917	}
4918	if s.EncoderProfile == nil {
4919		invalidParams.Add(request.NewErrParamRequired("EncoderProfile"))
4920	}
4921
4922	if invalidParams.Len() > 0 {
4923		return invalidParams
4924	}
4925	return nil
4926}
4927
4928// SetCompressionFactor sets the CompressionFactor field's value.
4929func (s *EncodingParametersRequest) SetCompressionFactor(v float64) *EncodingParametersRequest {
4930	s.CompressionFactor = &v
4931	return s
4932}
4933
4934// SetEncoderProfile sets the EncoderProfile field's value.
4935func (s *EncodingParametersRequest) SetEncoderProfile(v string) *EncodingParametersRequest {
4936	s.EncoderProfile = &v
4937	return s
4938}
4939
4940// Information about the encryption of the flow.
4941type Encryption struct {
4942	_ struct{} `type:"structure"`
4943
4944	// The type of algorithm that is used for the encryption (such as aes128, aes192,
4945	// or aes256).
4946	Algorithm *string `locationName:"algorithm" type:"string" enum:"Algorithm"`
4947
4948	// A 128-bit, 16-byte hex value represented by a 32-character string, to be
4949	// used with the key for encrypting content. This parameter is not valid for
4950	// static key encryption.
4951	ConstantInitializationVector *string `locationName:"constantInitializationVector" type:"string"`
4952
4953	// The value of one of the devices that you configured with your digital rights
4954	// management (DRM) platform key provider. This parameter is required for SPEKE
4955	// encryption and is not valid for static key encryption.
4956	DeviceId *string `locationName:"deviceId" type:"string"`
4957
4958	// The type of key that is used for the encryption. If no keyType is provided,
4959	// the service will use the default setting (static-key).
4960	KeyType *string `locationName:"keyType" type:"string" enum:"KeyType"`
4961
4962	// The AWS Region that the API Gateway proxy endpoint was created in. This parameter
4963	// is required for SPEKE encryption and is not valid for static key encryption.
4964	Region *string `locationName:"region" type:"string"`
4965
4966	// An identifier for the content. The service sends this value to the key server
4967	// to identify the current endpoint. The resource ID is also known as the content
4968	// ID. This parameter is required for SPEKE encryption and is not valid for
4969	// static key encryption.
4970	ResourceId *string `locationName:"resourceId" type:"string"`
4971
4972	// The ARN of the role that you created during setup (when you set up AWS Elemental
4973	// MediaConnect as a trusted entity).
4974	//
4975	// RoleArn is a required field
4976	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
4977
4978	// The ARN of the secret that you created in AWS Secrets Manager to store the
4979	// encryption key. This parameter is required for static key encryption and
4980	// is not valid for SPEKE encryption.
4981	SecretArn *string `locationName:"secretArn" type:"string"`
4982
4983	// The URL from the API Gateway proxy that you set up to talk to your key server.
4984	// This parameter is required for SPEKE encryption and is not valid for static
4985	// key encryption.
4986	Url *string `locationName:"url" type:"string"`
4987}
4988
4989// String returns the string representation
4990func (s Encryption) String() string {
4991	return awsutil.Prettify(s)
4992}
4993
4994// GoString returns the string representation
4995func (s Encryption) GoString() string {
4996	return s.String()
4997}
4998
4999// Validate inspects the fields of the type to determine if they are valid.
5000func (s *Encryption) Validate() error {
5001	invalidParams := request.ErrInvalidParams{Context: "Encryption"}
5002	if s.RoleArn == nil {
5003		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
5004	}
5005
5006	if invalidParams.Len() > 0 {
5007		return invalidParams
5008	}
5009	return nil
5010}
5011
5012// SetAlgorithm sets the Algorithm field's value.
5013func (s *Encryption) SetAlgorithm(v string) *Encryption {
5014	s.Algorithm = &v
5015	return s
5016}
5017
5018// SetConstantInitializationVector sets the ConstantInitializationVector field's value.
5019func (s *Encryption) SetConstantInitializationVector(v string) *Encryption {
5020	s.ConstantInitializationVector = &v
5021	return s
5022}
5023
5024// SetDeviceId sets the DeviceId field's value.
5025func (s *Encryption) SetDeviceId(v string) *Encryption {
5026	s.DeviceId = &v
5027	return s
5028}
5029
5030// SetKeyType sets the KeyType field's value.
5031func (s *Encryption) SetKeyType(v string) *Encryption {
5032	s.KeyType = &v
5033	return s
5034}
5035
5036// SetRegion sets the Region field's value.
5037func (s *Encryption) SetRegion(v string) *Encryption {
5038	s.Region = &v
5039	return s
5040}
5041
5042// SetResourceId sets the ResourceId field's value.
5043func (s *Encryption) SetResourceId(v string) *Encryption {
5044	s.ResourceId = &v
5045	return s
5046}
5047
5048// SetRoleArn sets the RoleArn field's value.
5049func (s *Encryption) SetRoleArn(v string) *Encryption {
5050	s.RoleArn = &v
5051	return s
5052}
5053
5054// SetSecretArn sets the SecretArn field's value.
5055func (s *Encryption) SetSecretArn(v string) *Encryption {
5056	s.SecretArn = &v
5057	return s
5058}
5059
5060// SetUrl sets the Url field's value.
5061func (s *Encryption) SetUrl(v string) *Encryption {
5062	s.Url = &v
5063	return s
5064}
5065
5066// The settings for a flow entitlement.
5067type Entitlement struct {
5068	_ struct{} `type:"structure"`
5069
5070	// Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
5071	DataTransferSubscriberFeePercent *int64 `locationName:"dataTransferSubscriberFeePercent" type:"integer"`
5072
5073	// A description of the entitlement.
5074	Description *string `locationName:"description" type:"string"`
5075
5076	// The type of encryption that will be used on the output that is associated
5077	// with this entitlement.
5078	Encryption *Encryption `locationName:"encryption" type:"structure"`
5079
5080	// The ARN of the entitlement.
5081	//
5082	// EntitlementArn is a required field
5083	EntitlementArn *string `locationName:"entitlementArn" type:"string" required:"true"`
5084
5085	// An indication of whether the entitlement is enabled.
5086	EntitlementStatus *string `locationName:"entitlementStatus" type:"string" enum:"EntitlementStatus"`
5087
5088	// The name of the entitlement.
5089	//
5090	// Name is a required field
5091	Name *string `locationName:"name" type:"string" required:"true"`
5092
5093	// The AWS account IDs that you want to share your content with. The receiving
5094	// accounts (subscribers) will be allowed to create their own flow using your
5095	// content as the source.
5096	//
5097	// Subscribers is a required field
5098	Subscribers []*string `locationName:"subscribers" type:"list" required:"true"`
5099}
5100
5101// String returns the string representation
5102func (s Entitlement) String() string {
5103	return awsutil.Prettify(s)
5104}
5105
5106// GoString returns the string representation
5107func (s Entitlement) GoString() string {
5108	return s.String()
5109}
5110
5111// SetDataTransferSubscriberFeePercent sets the DataTransferSubscriberFeePercent field's value.
5112func (s *Entitlement) SetDataTransferSubscriberFeePercent(v int64) *Entitlement {
5113	s.DataTransferSubscriberFeePercent = &v
5114	return s
5115}
5116
5117// SetDescription sets the Description field's value.
5118func (s *Entitlement) SetDescription(v string) *Entitlement {
5119	s.Description = &v
5120	return s
5121}
5122
5123// SetEncryption sets the Encryption field's value.
5124func (s *Entitlement) SetEncryption(v *Encryption) *Entitlement {
5125	s.Encryption = v
5126	return s
5127}
5128
5129// SetEntitlementArn sets the EntitlementArn field's value.
5130func (s *Entitlement) SetEntitlementArn(v string) *Entitlement {
5131	s.EntitlementArn = &v
5132	return s
5133}
5134
5135// SetEntitlementStatus sets the EntitlementStatus field's value.
5136func (s *Entitlement) SetEntitlementStatus(v string) *Entitlement {
5137	s.EntitlementStatus = &v
5138	return s
5139}
5140
5141// SetName sets the Name field's value.
5142func (s *Entitlement) SetName(v string) *Entitlement {
5143	s.Name = &v
5144	return s
5145}
5146
5147// SetSubscribers sets the Subscribers field's value.
5148func (s *Entitlement) SetSubscribers(v []*string) *Entitlement {
5149	s.Subscribers = v
5150	return s
5151}
5152
5153// The settings for source failover
5154type FailoverConfig struct {
5155	_ struct{} `type:"structure"`
5156
5157	// The type of failover you choose for this flow. MERGE combines the source
5158	// streams into a single stream, allowing graceful recovery from any single-source
5159	// loss. FAILOVER allows switching between different streams.
5160	FailoverMode *string `locationName:"failoverMode" type:"string" enum:"FailoverMode"`
5161
5162	// Search window time to look for dash-7 packets
5163	RecoveryWindow *int64 `locationName:"recoveryWindow" type:"integer"`
5164
5165	// The priority you want to assign to a source. You can have a primary stream
5166	// and a backup stream or two equally prioritized streams.
5167	SourcePriority *SourcePriority `locationName:"sourcePriority" type:"structure"`
5168
5169	State *string `locationName:"state" type:"string" enum:"State"`
5170}
5171
5172// String returns the string representation
5173func (s FailoverConfig) String() string {
5174	return awsutil.Prettify(s)
5175}
5176
5177// GoString returns the string representation
5178func (s FailoverConfig) GoString() string {
5179	return s.String()
5180}
5181
5182// SetFailoverMode sets the FailoverMode field's value.
5183func (s *FailoverConfig) SetFailoverMode(v string) *FailoverConfig {
5184	s.FailoverMode = &v
5185	return s
5186}
5187
5188// SetRecoveryWindow sets the RecoveryWindow field's value.
5189func (s *FailoverConfig) SetRecoveryWindow(v int64) *FailoverConfig {
5190	s.RecoveryWindow = &v
5191	return s
5192}
5193
5194// SetSourcePriority sets the SourcePriority field's value.
5195func (s *FailoverConfig) SetSourcePriority(v *SourcePriority) *FailoverConfig {
5196	s.SourcePriority = v
5197	return s
5198}
5199
5200// SetState sets the State field's value.
5201func (s *FailoverConfig) SetState(v string) *FailoverConfig {
5202	s.State = &v
5203	return s
5204}
5205
5206// The settings for a flow, including its source, outputs, and entitlements.
5207type Flow struct {
5208	_ struct{} `type:"structure"`
5209
5210	// The Availability Zone that you want to create the flow in. These options
5211	// are limited to the Availability Zones within the current AWS.
5212	//
5213	// AvailabilityZone is a required field
5214	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
5215
5216	// A description of the flow. This value is not used or seen outside of the
5217	// current AWS Elemental MediaConnect account.
5218	Description *string `locationName:"description" type:"string"`
5219
5220	// The IP address from which video will be sent to output destinations.
5221	EgressIp *string `locationName:"egressIp" type:"string"`
5222
5223	// The entitlements in this flow.
5224	//
5225	// Entitlements is a required field
5226	Entitlements []*Entitlement `locationName:"entitlements" type:"list" required:"true"`
5227
5228	// The Amazon Resource Name (ARN), a unique identifier for any AWS resource,
5229	// of the flow.
5230	//
5231	// FlowArn is a required field
5232	FlowArn *string `locationName:"flowArn" type:"string" required:"true"`
5233
5234	// The media streams that are associated with the flow. After you associate
5235	// a media stream with a source, you can also associate it with outputs on the
5236	// flow.
5237	MediaStreams []*MediaStream `locationName:"mediaStreams" type:"list"`
5238
5239	// The name of the flow.
5240	//
5241	// Name is a required field
5242	Name *string `locationName:"name" type:"string" required:"true"`
5243
5244	// The outputs in this flow.
5245	//
5246	// Outputs is a required field
5247	Outputs []*Output `locationName:"outputs" type:"list" required:"true"`
5248
5249	// The settings for the source of the flow.
5250	//
5251	// Source is a required field
5252	Source *Source `locationName:"source" type:"structure" required:"true"`
5253
5254	// The settings for source failover
5255	SourceFailoverConfig *FailoverConfig `locationName:"sourceFailoverConfig" type:"structure"`
5256
5257	Sources []*Source `locationName:"sources" type:"list"`
5258
5259	// The current status of the flow.
5260	//
5261	// Status is a required field
5262	Status *string `locationName:"status" type:"string" required:"true" enum:"Status"`
5263
5264	// The VPC Interfaces for this flow.
5265	VpcInterfaces []*VpcInterface `locationName:"vpcInterfaces" type:"list"`
5266}
5267
5268// String returns the string representation
5269func (s Flow) String() string {
5270	return awsutil.Prettify(s)
5271}
5272
5273// GoString returns the string representation
5274func (s Flow) GoString() string {
5275	return s.String()
5276}
5277
5278// SetAvailabilityZone sets the AvailabilityZone field's value.
5279func (s *Flow) SetAvailabilityZone(v string) *Flow {
5280	s.AvailabilityZone = &v
5281	return s
5282}
5283
5284// SetDescription sets the Description field's value.
5285func (s *Flow) SetDescription(v string) *Flow {
5286	s.Description = &v
5287	return s
5288}
5289
5290// SetEgressIp sets the EgressIp field's value.
5291func (s *Flow) SetEgressIp(v string) *Flow {
5292	s.EgressIp = &v
5293	return s
5294}
5295
5296// SetEntitlements sets the Entitlements field's value.
5297func (s *Flow) SetEntitlements(v []*Entitlement) *Flow {
5298	s.Entitlements = v
5299	return s
5300}
5301
5302// SetFlowArn sets the FlowArn field's value.
5303func (s *Flow) SetFlowArn(v string) *Flow {
5304	s.FlowArn = &v
5305	return s
5306}
5307
5308// SetMediaStreams sets the MediaStreams field's value.
5309func (s *Flow) SetMediaStreams(v []*MediaStream) *Flow {
5310	s.MediaStreams = v
5311	return s
5312}
5313
5314// SetName sets the Name field's value.
5315func (s *Flow) SetName(v string) *Flow {
5316	s.Name = &v
5317	return s
5318}
5319
5320// SetOutputs sets the Outputs field's value.
5321func (s *Flow) SetOutputs(v []*Output) *Flow {
5322	s.Outputs = v
5323	return s
5324}
5325
5326// SetSource sets the Source field's value.
5327func (s *Flow) SetSource(v *Source) *Flow {
5328	s.Source = v
5329	return s
5330}
5331
5332// SetSourceFailoverConfig sets the SourceFailoverConfig field's value.
5333func (s *Flow) SetSourceFailoverConfig(v *FailoverConfig) *Flow {
5334	s.SourceFailoverConfig = v
5335	return s
5336}
5337
5338// SetSources sets the Sources field's value.
5339func (s *Flow) SetSources(v []*Source) *Flow {
5340	s.Sources = v
5341	return s
5342}
5343
5344// SetStatus sets the Status field's value.
5345func (s *Flow) SetStatus(v string) *Flow {
5346	s.Status = &v
5347	return s
5348}
5349
5350// SetVpcInterfaces sets the VpcInterfaces field's value.
5351func (s *Flow) SetVpcInterfaces(v []*VpcInterface) *Flow {
5352	s.VpcInterfaces = v
5353	return s
5354}
5355
5356// FMTP
5357type Fmtp struct {
5358	_ struct{} `type:"structure"`
5359
5360	// The format of the audio channel.
5361	ChannelOrder *string `locationName:"channelOrder" type:"string"`
5362
5363	// The format that is used for the representation of color.
5364	Colorimetry *string `locationName:"colorimetry" type:"string" enum:"Colorimetry"`
5365
5366	// The frame rate for the video stream, in frames/second. For example: 60000/1001.
5367	// If you specify a whole number, MediaConnect uses a ratio of N/1. For example,
5368	// if you specify 60, MediaConnect uses 60/1 as the exactFramerate.
5369	ExactFramerate *string `locationName:"exactFramerate" type:"string"`
5370
5371	// The pixel aspect ratio (PAR) of the video.
5372	Par *string `locationName:"par" type:"string"`
5373
5374	// The encoding range of the video.
5375	Range *string `locationName:"range" type:"string" enum:"Range"`
5376
5377	// The type of compression that was used to smooth the video’s appearance
5378	ScanMode *string `locationName:"scanMode" type:"string" enum:"ScanMode"`
5379
5380	// The transfer characteristic system (TCS) that is used in the video.
5381	Tcs *string `locationName:"tcs" type:"string" enum:"Tcs"`
5382}
5383
5384// String returns the string representation
5385func (s Fmtp) String() string {
5386	return awsutil.Prettify(s)
5387}
5388
5389// GoString returns the string representation
5390func (s Fmtp) GoString() string {
5391	return s.String()
5392}
5393
5394// SetChannelOrder sets the ChannelOrder field's value.
5395func (s *Fmtp) SetChannelOrder(v string) *Fmtp {
5396	s.ChannelOrder = &v
5397	return s
5398}
5399
5400// SetColorimetry sets the Colorimetry field's value.
5401func (s *Fmtp) SetColorimetry(v string) *Fmtp {
5402	s.Colorimetry = &v
5403	return s
5404}
5405
5406// SetExactFramerate sets the ExactFramerate field's value.
5407func (s *Fmtp) SetExactFramerate(v string) *Fmtp {
5408	s.ExactFramerate = &v
5409	return s
5410}
5411
5412// SetPar sets the Par field's value.
5413func (s *Fmtp) SetPar(v string) *Fmtp {
5414	s.Par = &v
5415	return s
5416}
5417
5418// SetRange sets the Range field's value.
5419func (s *Fmtp) SetRange(v string) *Fmtp {
5420	s.Range = &v
5421	return s
5422}
5423
5424// SetScanMode sets the ScanMode field's value.
5425func (s *Fmtp) SetScanMode(v string) *Fmtp {
5426	s.ScanMode = &v
5427	return s
5428}
5429
5430// SetTcs sets the Tcs field's value.
5431func (s *Fmtp) SetTcs(v string) *Fmtp {
5432	s.Tcs = &v
5433	return s
5434}
5435
5436// The settings that you want to use to define the media stream.
5437type FmtpRequest struct {
5438	_ struct{} `type:"structure"`
5439
5440	// The format of the audio channel.
5441	ChannelOrder *string `locationName:"channelOrder" type:"string"`
5442
5443	// The format that is used for the representation of color.
5444	Colorimetry *string `locationName:"colorimetry" type:"string" enum:"Colorimetry"`
5445
5446	// The frame rate for the video stream, in frames/second. For example: 60000/1001.
5447	// If you specify a whole number, MediaConnect uses a ratio of N/1. For example,
5448	// if you specify 60, MediaConnect uses 60/1 as the exactFramerate.
5449	ExactFramerate *string `locationName:"exactFramerate" type:"string"`
5450
5451	// The pixel aspect ratio (PAR) of the video.
5452	Par *string `locationName:"par" type:"string"`
5453
5454	// The encoding range of the video.
5455	Range *string `locationName:"range" type:"string" enum:"Range"`
5456
5457	// The type of compression that was used to smooth the video’s appearance.
5458	ScanMode *string `locationName:"scanMode" type:"string" enum:"ScanMode"`
5459
5460	// The transfer characteristic system (TCS) that is used in the video.
5461	Tcs *string `locationName:"tcs" type:"string" enum:"Tcs"`
5462}
5463
5464// String returns the string representation
5465func (s FmtpRequest) String() string {
5466	return awsutil.Prettify(s)
5467}
5468
5469// GoString returns the string representation
5470func (s FmtpRequest) GoString() string {
5471	return s.String()
5472}
5473
5474// SetChannelOrder sets the ChannelOrder field's value.
5475func (s *FmtpRequest) SetChannelOrder(v string) *FmtpRequest {
5476	s.ChannelOrder = &v
5477	return s
5478}
5479
5480// SetColorimetry sets the Colorimetry field's value.
5481func (s *FmtpRequest) SetColorimetry(v string) *FmtpRequest {
5482	s.Colorimetry = &v
5483	return s
5484}
5485
5486// SetExactFramerate sets the ExactFramerate field's value.
5487func (s *FmtpRequest) SetExactFramerate(v string) *FmtpRequest {
5488	s.ExactFramerate = &v
5489	return s
5490}
5491
5492// SetPar sets the Par field's value.
5493func (s *FmtpRequest) SetPar(v string) *FmtpRequest {
5494	s.Par = &v
5495	return s
5496}
5497
5498// SetRange sets the Range field's value.
5499func (s *FmtpRequest) SetRange(v string) *FmtpRequest {
5500	s.Range = &v
5501	return s
5502}
5503
5504// SetScanMode sets the ScanMode field's value.
5505func (s *FmtpRequest) SetScanMode(v string) *FmtpRequest {
5506	s.ScanMode = &v
5507	return s
5508}
5509
5510// SetTcs sets the Tcs field's value.
5511func (s *FmtpRequest) SetTcs(v string) *FmtpRequest {
5512	s.Tcs = &v
5513	return s
5514}
5515
5516// Exception raised by AWS Elemental MediaConnect. See the error message and
5517// documentation for the operation for more information on the cause of this
5518// exception.
5519type ForbiddenException struct {
5520	_            struct{}                  `type:"structure"`
5521	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5522
5523	Message_ *string `locationName:"message" type:"string"`
5524}
5525
5526// String returns the string representation
5527func (s ForbiddenException) String() string {
5528	return awsutil.Prettify(s)
5529}
5530
5531// GoString returns the string representation
5532func (s ForbiddenException) GoString() string {
5533	return s.String()
5534}
5535
5536func newErrorForbiddenException(v protocol.ResponseMetadata) error {
5537	return &ForbiddenException{
5538		RespMetadata: v,
5539	}
5540}
5541
5542// Code returns the exception type name.
5543func (s *ForbiddenException) Code() string {
5544	return "ForbiddenException"
5545}
5546
5547// Message returns the exception's message.
5548func (s *ForbiddenException) Message() string {
5549	if s.Message_ != nil {
5550		return *s.Message_
5551	}
5552	return ""
5553}
5554
5555// OrigErr always returns nil, satisfies awserr.Error interface.
5556func (s *ForbiddenException) OrigErr() error {
5557	return nil
5558}
5559
5560func (s *ForbiddenException) Error() string {
5561	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5562}
5563
5564// Status code returns the HTTP status code for the request's response error.
5565func (s *ForbiddenException) StatusCode() int {
5566	return s.RespMetadata.StatusCode
5567}
5568
5569// RequestID returns the service's response RequestID for request.
5570func (s *ForbiddenException) RequestID() string {
5571	return s.RespMetadata.RequestID
5572}
5573
5574// The entitlements that you want to grant on a flow.
5575type GrantEntitlementRequest struct {
5576	_ struct{} `type:"structure"`
5577
5578	// Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
5579	DataTransferSubscriberFeePercent *int64 `locationName:"dataTransferSubscriberFeePercent" type:"integer"`
5580
5581	// A description of the entitlement. This description appears only on the AWS
5582	// Elemental MediaConnect console and will not be seen by the subscriber or
5583	// end user.
5584	Description *string `locationName:"description" type:"string"`
5585
5586	// The type of encryption that will be used on the output that is associated
5587	// with this entitlement.
5588	Encryption *Encryption `locationName:"encryption" type:"structure"`
5589
5590	// An indication of whether the new entitlement should be enabled or disabled
5591	// as soon as it is created. If you don’t specify the entitlementStatus field
5592	// in your request, MediaConnect sets it to ENABLED.
5593	EntitlementStatus *string `locationName:"entitlementStatus" type:"string" enum:"EntitlementStatus"`
5594
5595	// The name of the entitlement. This value must be unique within the current
5596	// flow.
5597	Name *string `locationName:"name" type:"string"`
5598
5599	// The AWS account IDs that you want to share your content with. The receiving
5600	// accounts (subscribers) will be allowed to create their own flows using your
5601	// content as the source.
5602	//
5603	// Subscribers is a required field
5604	Subscribers []*string `locationName:"subscribers" type:"list" required:"true"`
5605}
5606
5607// String returns the string representation
5608func (s GrantEntitlementRequest) String() string {
5609	return awsutil.Prettify(s)
5610}
5611
5612// GoString returns the string representation
5613func (s GrantEntitlementRequest) GoString() string {
5614	return s.String()
5615}
5616
5617// Validate inspects the fields of the type to determine if they are valid.
5618func (s *GrantEntitlementRequest) Validate() error {
5619	invalidParams := request.ErrInvalidParams{Context: "GrantEntitlementRequest"}
5620	if s.Subscribers == nil {
5621		invalidParams.Add(request.NewErrParamRequired("Subscribers"))
5622	}
5623	if s.Encryption != nil {
5624		if err := s.Encryption.Validate(); err != nil {
5625			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
5626		}
5627	}
5628
5629	if invalidParams.Len() > 0 {
5630		return invalidParams
5631	}
5632	return nil
5633}
5634
5635// SetDataTransferSubscriberFeePercent sets the DataTransferSubscriberFeePercent field's value.
5636func (s *GrantEntitlementRequest) SetDataTransferSubscriberFeePercent(v int64) *GrantEntitlementRequest {
5637	s.DataTransferSubscriberFeePercent = &v
5638	return s
5639}
5640
5641// SetDescription sets the Description field's value.
5642func (s *GrantEntitlementRequest) SetDescription(v string) *GrantEntitlementRequest {
5643	s.Description = &v
5644	return s
5645}
5646
5647// SetEncryption sets the Encryption field's value.
5648func (s *GrantEntitlementRequest) SetEncryption(v *Encryption) *GrantEntitlementRequest {
5649	s.Encryption = v
5650	return s
5651}
5652
5653// SetEntitlementStatus sets the EntitlementStatus field's value.
5654func (s *GrantEntitlementRequest) SetEntitlementStatus(v string) *GrantEntitlementRequest {
5655	s.EntitlementStatus = &v
5656	return s
5657}
5658
5659// SetName sets the Name field's value.
5660func (s *GrantEntitlementRequest) SetName(v string) *GrantEntitlementRequest {
5661	s.Name = &v
5662	return s
5663}
5664
5665// SetSubscribers sets the Subscribers field's value.
5666func (s *GrantEntitlementRequest) SetSubscribers(v []*string) *GrantEntitlementRequest {
5667	s.Subscribers = v
5668	return s
5669}
5670
5671// Exception raised by AWS Elemental MediaConnect. See the error message and
5672// documentation for the operation for more information on the cause of this
5673// exception.
5674type GrantFlowEntitlements420Exception struct {
5675	_            struct{}                  `type:"structure"`
5676	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5677
5678	Message_ *string `locationName:"message" type:"string"`
5679}
5680
5681// String returns the string representation
5682func (s GrantFlowEntitlements420Exception) String() string {
5683	return awsutil.Prettify(s)
5684}
5685
5686// GoString returns the string representation
5687func (s GrantFlowEntitlements420Exception) GoString() string {
5688	return s.String()
5689}
5690
5691func newErrorGrantFlowEntitlements420Exception(v protocol.ResponseMetadata) error {
5692	return &GrantFlowEntitlements420Exception{
5693		RespMetadata: v,
5694	}
5695}
5696
5697// Code returns the exception type name.
5698func (s *GrantFlowEntitlements420Exception) Code() string {
5699	return "GrantFlowEntitlements420Exception"
5700}
5701
5702// Message returns the exception's message.
5703func (s *GrantFlowEntitlements420Exception) Message() string {
5704	if s.Message_ != nil {
5705		return *s.Message_
5706	}
5707	return ""
5708}
5709
5710// OrigErr always returns nil, satisfies awserr.Error interface.
5711func (s *GrantFlowEntitlements420Exception) OrigErr() error {
5712	return nil
5713}
5714
5715func (s *GrantFlowEntitlements420Exception) Error() string {
5716	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5717}
5718
5719// Status code returns the HTTP status code for the request's response error.
5720func (s *GrantFlowEntitlements420Exception) StatusCode() int {
5721	return s.RespMetadata.StatusCode
5722}
5723
5724// RequestID returns the service's response RequestID for request.
5725func (s *GrantFlowEntitlements420Exception) RequestID() string {
5726	return s.RespMetadata.RequestID
5727}
5728
5729// Grants an entitlement on a flow.
5730type GrantFlowEntitlementsInput struct {
5731	_ struct{} `type:"structure"`
5732
5733	// The list of entitlements that you want to grant.
5734	//
5735	// Entitlements is a required field
5736	Entitlements []*GrantEntitlementRequest `locationName:"entitlements" type:"list" required:"true"`
5737
5738	// FlowArn is a required field
5739	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
5740}
5741
5742// String returns the string representation
5743func (s GrantFlowEntitlementsInput) String() string {
5744	return awsutil.Prettify(s)
5745}
5746
5747// GoString returns the string representation
5748func (s GrantFlowEntitlementsInput) GoString() string {
5749	return s.String()
5750}
5751
5752// Validate inspects the fields of the type to determine if they are valid.
5753func (s *GrantFlowEntitlementsInput) Validate() error {
5754	invalidParams := request.ErrInvalidParams{Context: "GrantFlowEntitlementsInput"}
5755	if s.Entitlements == nil {
5756		invalidParams.Add(request.NewErrParamRequired("Entitlements"))
5757	}
5758	if s.FlowArn == nil {
5759		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
5760	}
5761	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
5762		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
5763	}
5764	if s.Entitlements != nil {
5765		for i, v := range s.Entitlements {
5766			if v == nil {
5767				continue
5768			}
5769			if err := v.Validate(); err != nil {
5770				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entitlements", i), err.(request.ErrInvalidParams))
5771			}
5772		}
5773	}
5774
5775	if invalidParams.Len() > 0 {
5776		return invalidParams
5777	}
5778	return nil
5779}
5780
5781// SetEntitlements sets the Entitlements field's value.
5782func (s *GrantFlowEntitlementsInput) SetEntitlements(v []*GrantEntitlementRequest) *GrantFlowEntitlementsInput {
5783	s.Entitlements = v
5784	return s
5785}
5786
5787// SetFlowArn sets the FlowArn field's value.
5788func (s *GrantFlowEntitlementsInput) SetFlowArn(v string) *GrantFlowEntitlementsInput {
5789	s.FlowArn = &v
5790	return s
5791}
5792
5793// The entitlements that were just granted.
5794type GrantFlowEntitlementsOutput struct {
5795	_ struct{} `type:"structure"`
5796
5797	// The entitlements that were just granted.
5798	Entitlements []*Entitlement `locationName:"entitlements" type:"list"`
5799
5800	// The ARN of the flow that these entitlements were granted to.
5801	FlowArn *string `locationName:"flowArn" type:"string"`
5802}
5803
5804// String returns the string representation
5805func (s GrantFlowEntitlementsOutput) String() string {
5806	return awsutil.Prettify(s)
5807}
5808
5809// GoString returns the string representation
5810func (s GrantFlowEntitlementsOutput) GoString() string {
5811	return s.String()
5812}
5813
5814// SetEntitlements sets the Entitlements field's value.
5815func (s *GrantFlowEntitlementsOutput) SetEntitlements(v []*Entitlement) *GrantFlowEntitlementsOutput {
5816	s.Entitlements = v
5817	return s
5818}
5819
5820// SetFlowArn sets the FlowArn field's value.
5821func (s *GrantFlowEntitlementsOutput) SetFlowArn(v string) *GrantFlowEntitlementsOutput {
5822	s.FlowArn = &v
5823	return s
5824}
5825
5826// The transport parameters that are associated with an incoming media stream.
5827type InputConfiguration struct {
5828	_ struct{} `type:"structure"`
5829
5830	// The IP address that the flow listens on for incoming content for a media
5831	// stream.
5832	//
5833	// InputIp is a required field
5834	InputIp *string `locationName:"inputIp" type:"string" required:"true"`
5835
5836	// The port that the flow listens on for an incoming media stream.
5837	//
5838	// InputPort is a required field
5839	InputPort *int64 `locationName:"inputPort" type:"integer" required:"true"`
5840
5841	// The VPC interface where the media stream comes in from.
5842	//
5843	// Interface is a required field
5844	Interface *Interface `locationName:"interface" type:"structure" required:"true"`
5845}
5846
5847// String returns the string representation
5848func (s InputConfiguration) String() string {
5849	return awsutil.Prettify(s)
5850}
5851
5852// GoString returns the string representation
5853func (s InputConfiguration) GoString() string {
5854	return s.String()
5855}
5856
5857// SetInputIp sets the InputIp field's value.
5858func (s *InputConfiguration) SetInputIp(v string) *InputConfiguration {
5859	s.InputIp = &v
5860	return s
5861}
5862
5863// SetInputPort sets the InputPort field's value.
5864func (s *InputConfiguration) SetInputPort(v int64) *InputConfiguration {
5865	s.InputPort = &v
5866	return s
5867}
5868
5869// SetInterface sets the Interface field's value.
5870func (s *InputConfiguration) SetInterface(v *Interface) *InputConfiguration {
5871	s.Interface = v
5872	return s
5873}
5874
5875// The transport parameters that you want to associate with an incoming media
5876// stream.
5877type InputConfigurationRequest struct {
5878	_ struct{} `type:"structure"`
5879
5880	// The port that you want the flow to listen on for an incoming media stream.
5881	//
5882	// InputPort is a required field
5883	InputPort *int64 `locationName:"inputPort" type:"integer" required:"true"`
5884
5885	// The VPC interface that you want to use for the incoming media stream.
5886	//
5887	// Interface is a required field
5888	Interface *InterfaceRequest `locationName:"interface" type:"structure" required:"true"`
5889}
5890
5891// String returns the string representation
5892func (s InputConfigurationRequest) String() string {
5893	return awsutil.Prettify(s)
5894}
5895
5896// GoString returns the string representation
5897func (s InputConfigurationRequest) GoString() string {
5898	return s.String()
5899}
5900
5901// Validate inspects the fields of the type to determine if they are valid.
5902func (s *InputConfigurationRequest) Validate() error {
5903	invalidParams := request.ErrInvalidParams{Context: "InputConfigurationRequest"}
5904	if s.InputPort == nil {
5905		invalidParams.Add(request.NewErrParamRequired("InputPort"))
5906	}
5907	if s.Interface == nil {
5908		invalidParams.Add(request.NewErrParamRequired("Interface"))
5909	}
5910	if s.Interface != nil {
5911		if err := s.Interface.Validate(); err != nil {
5912			invalidParams.AddNested("Interface", err.(request.ErrInvalidParams))
5913		}
5914	}
5915
5916	if invalidParams.Len() > 0 {
5917		return invalidParams
5918	}
5919	return nil
5920}
5921
5922// SetInputPort sets the InputPort field's value.
5923func (s *InputConfigurationRequest) SetInputPort(v int64) *InputConfigurationRequest {
5924	s.InputPort = &v
5925	return s
5926}
5927
5928// SetInterface sets the Interface field's value.
5929func (s *InputConfigurationRequest) SetInterface(v *InterfaceRequest) *InputConfigurationRequest {
5930	s.Interface = v
5931	return s
5932}
5933
5934// The VPC interface that is used for the media stream associated with the source
5935// or output.
5936type Interface struct {
5937	_ struct{} `type:"structure"`
5938
5939	// The name of the VPC interface.
5940	//
5941	// Name is a required field
5942	Name *string `locationName:"name" type:"string" required:"true"`
5943}
5944
5945// String returns the string representation
5946func (s Interface) String() string {
5947	return awsutil.Prettify(s)
5948}
5949
5950// GoString returns the string representation
5951func (s Interface) GoString() string {
5952	return s.String()
5953}
5954
5955// SetName sets the Name field's value.
5956func (s *Interface) SetName(v string) *Interface {
5957	s.Name = &v
5958	return s
5959}
5960
5961// The VPC interface that you want to designate where the media stream is coming
5962// from or going to.
5963type InterfaceRequest struct {
5964	_ struct{} `type:"structure"`
5965
5966	// The name of the VPC interface.
5967	//
5968	// Name is a required field
5969	Name *string `locationName:"name" type:"string" required:"true"`
5970}
5971
5972// String returns the string representation
5973func (s InterfaceRequest) String() string {
5974	return awsutil.Prettify(s)
5975}
5976
5977// GoString returns the string representation
5978func (s InterfaceRequest) GoString() string {
5979	return s.String()
5980}
5981
5982// Validate inspects the fields of the type to determine if they are valid.
5983func (s *InterfaceRequest) Validate() error {
5984	invalidParams := request.ErrInvalidParams{Context: "InterfaceRequest"}
5985	if s.Name == nil {
5986		invalidParams.Add(request.NewErrParamRequired("Name"))
5987	}
5988
5989	if invalidParams.Len() > 0 {
5990		return invalidParams
5991	}
5992	return nil
5993}
5994
5995// SetName sets the Name field's value.
5996func (s *InterfaceRequest) SetName(v string) *InterfaceRequest {
5997	s.Name = &v
5998	return s
5999}
6000
6001// Exception raised by AWS Elemental MediaConnect. See the error message and
6002// documentation for the operation for more information on the cause of this
6003// exception.
6004type InternalServerErrorException struct {
6005	_            struct{}                  `type:"structure"`
6006	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6007
6008	Message_ *string `locationName:"message" type:"string"`
6009}
6010
6011// String returns the string representation
6012func (s InternalServerErrorException) String() string {
6013	return awsutil.Prettify(s)
6014}
6015
6016// GoString returns the string representation
6017func (s InternalServerErrorException) GoString() string {
6018	return s.String()
6019}
6020
6021func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
6022	return &InternalServerErrorException{
6023		RespMetadata: v,
6024	}
6025}
6026
6027// Code returns the exception type name.
6028func (s *InternalServerErrorException) Code() string {
6029	return "InternalServerErrorException"
6030}
6031
6032// Message returns the exception's message.
6033func (s *InternalServerErrorException) Message() string {
6034	if s.Message_ != nil {
6035		return *s.Message_
6036	}
6037	return ""
6038}
6039
6040// OrigErr always returns nil, satisfies awserr.Error interface.
6041func (s *InternalServerErrorException) OrigErr() error {
6042	return nil
6043}
6044
6045func (s *InternalServerErrorException) Error() string {
6046	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6047}
6048
6049// Status code returns the HTTP status code for the request's response error.
6050func (s *InternalServerErrorException) StatusCode() int {
6051	return s.RespMetadata.StatusCode
6052}
6053
6054// RequestID returns the service's response RequestID for request.
6055func (s *InternalServerErrorException) RequestID() string {
6056	return s.RespMetadata.RequestID
6057}
6058
6059type ListEntitlementsInput struct {
6060	_ struct{} `type:"structure"`
6061
6062	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6063
6064	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6065}
6066
6067// String returns the string representation
6068func (s ListEntitlementsInput) String() string {
6069	return awsutil.Prettify(s)
6070}
6071
6072// GoString returns the string representation
6073func (s ListEntitlementsInput) GoString() string {
6074	return s.String()
6075}
6076
6077// Validate inspects the fields of the type to determine if they are valid.
6078func (s *ListEntitlementsInput) Validate() error {
6079	invalidParams := request.ErrInvalidParams{Context: "ListEntitlementsInput"}
6080	if s.MaxResults != nil && *s.MaxResults < 1 {
6081		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6082	}
6083
6084	if invalidParams.Len() > 0 {
6085		return invalidParams
6086	}
6087	return nil
6088}
6089
6090// SetMaxResults sets the MaxResults field's value.
6091func (s *ListEntitlementsInput) SetMaxResults(v int64) *ListEntitlementsInput {
6092	s.MaxResults = &v
6093	return s
6094}
6095
6096// SetNextToken sets the NextToken field's value.
6097func (s *ListEntitlementsInput) SetNextToken(v string) *ListEntitlementsInput {
6098	s.NextToken = &v
6099	return s
6100}
6101
6102// The result of a successful ListEntitlements request. The response includes
6103// the ARN of each entitlement, the name of the associated flow, and the NextToken
6104// to use in a subsequent ListEntitlements request.
6105type ListEntitlementsOutput struct {
6106	_ struct{} `type:"structure"`
6107
6108	// A list of entitlements that have been granted to you from other AWS accounts.
6109	Entitlements []*ListedEntitlement `locationName:"entitlements" type:"list"`
6110
6111	// The token that identifies which batch of results that you want to see. For
6112	// example, you submit a ListEntitlements request with MaxResults set at 5.
6113	// The service returns the first batch of results (up to 5) and a NextToken
6114	// value. To see the next batch of results, you can submit the ListEntitlements
6115	// request a second time and specify the NextToken value.
6116	NextToken *string `locationName:"nextToken" type:"string"`
6117}
6118
6119// String returns the string representation
6120func (s ListEntitlementsOutput) String() string {
6121	return awsutil.Prettify(s)
6122}
6123
6124// GoString returns the string representation
6125func (s ListEntitlementsOutput) GoString() string {
6126	return s.String()
6127}
6128
6129// SetEntitlements sets the Entitlements field's value.
6130func (s *ListEntitlementsOutput) SetEntitlements(v []*ListedEntitlement) *ListEntitlementsOutput {
6131	s.Entitlements = v
6132	return s
6133}
6134
6135// SetNextToken sets the NextToken field's value.
6136func (s *ListEntitlementsOutput) SetNextToken(v string) *ListEntitlementsOutput {
6137	s.NextToken = &v
6138	return s
6139}
6140
6141type ListFlowsInput struct {
6142	_ struct{} `type:"structure"`
6143
6144	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6145
6146	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6147}
6148
6149// String returns the string representation
6150func (s ListFlowsInput) String() string {
6151	return awsutil.Prettify(s)
6152}
6153
6154// GoString returns the string representation
6155func (s ListFlowsInput) GoString() string {
6156	return s.String()
6157}
6158
6159// Validate inspects the fields of the type to determine if they are valid.
6160func (s *ListFlowsInput) Validate() error {
6161	invalidParams := request.ErrInvalidParams{Context: "ListFlowsInput"}
6162	if s.MaxResults != nil && *s.MaxResults < 1 {
6163		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6164	}
6165
6166	if invalidParams.Len() > 0 {
6167		return invalidParams
6168	}
6169	return nil
6170}
6171
6172// SetMaxResults sets the MaxResults field's value.
6173func (s *ListFlowsInput) SetMaxResults(v int64) *ListFlowsInput {
6174	s.MaxResults = &v
6175	return s
6176}
6177
6178// SetNextToken sets the NextToken field's value.
6179func (s *ListFlowsInput) SetNextToken(v string) *ListFlowsInput {
6180	s.NextToken = &v
6181	return s
6182}
6183
6184// The result of a successful ListFlows request. The response includes flow
6185// summaries and the NextToken to use in a subsequent ListFlows request.
6186type ListFlowsOutput struct {
6187	_ struct{} `type:"structure"`
6188
6189	// A list of flow summaries.
6190	Flows []*ListedFlow `locationName:"flows" type:"list"`
6191
6192	// The token that identifies which batch of results that you want to see. For
6193	// example, you submit a ListFlows request with MaxResults set at 5. The service
6194	// returns the first batch of results (up to 5) and a NextToken value. To see
6195	// the next batch of results, you can submit the ListFlows request a second
6196	// time and specify the NextToken value.
6197	NextToken *string `locationName:"nextToken" type:"string"`
6198}
6199
6200// String returns the string representation
6201func (s ListFlowsOutput) String() string {
6202	return awsutil.Prettify(s)
6203}
6204
6205// GoString returns the string representation
6206func (s ListFlowsOutput) GoString() string {
6207	return s.String()
6208}
6209
6210// SetFlows sets the Flows field's value.
6211func (s *ListFlowsOutput) SetFlows(v []*ListedFlow) *ListFlowsOutput {
6212	s.Flows = v
6213	return s
6214}
6215
6216// SetNextToken sets the NextToken field's value.
6217func (s *ListFlowsOutput) SetNextToken(v string) *ListFlowsOutput {
6218	s.NextToken = &v
6219	return s
6220}
6221
6222type ListOfferingsInput struct {
6223	_ struct{} `type:"structure"`
6224
6225	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6226
6227	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6228}
6229
6230// String returns the string representation
6231func (s ListOfferingsInput) String() string {
6232	return awsutil.Prettify(s)
6233}
6234
6235// GoString returns the string representation
6236func (s ListOfferingsInput) GoString() string {
6237	return s.String()
6238}
6239
6240// Validate inspects the fields of the type to determine if they are valid.
6241func (s *ListOfferingsInput) Validate() error {
6242	invalidParams := request.ErrInvalidParams{Context: "ListOfferingsInput"}
6243	if s.MaxResults != nil && *s.MaxResults < 1 {
6244		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6245	}
6246
6247	if invalidParams.Len() > 0 {
6248		return invalidParams
6249	}
6250	return nil
6251}
6252
6253// SetMaxResults sets the MaxResults field's value.
6254func (s *ListOfferingsInput) SetMaxResults(v int64) *ListOfferingsInput {
6255	s.MaxResults = &v
6256	return s
6257}
6258
6259// SetNextToken sets the NextToken field's value.
6260func (s *ListOfferingsInput) SetNextToken(v string) *ListOfferingsInput {
6261	s.NextToken = &v
6262	return s
6263}
6264
6265// The result of a successful ListOfferings request. The response includes the
6266// details of each offering that your account is eligible for. The response
6267// includes the following information for each offering: description, duration,
6268// outbound bandwidth, price, Amazon Resource Name (ARN), and the NextToken
6269// to use in a subsequent ListOfferings request.
6270type ListOfferingsOutput struct {
6271	_ struct{} `type:"structure"`
6272
6273	// The token that identifies which batch of results that you want to see. For
6274	// example, you submit a ListOfferings request with MaxResults set at 5. The
6275	// service returns the first batch of results (up to 5) and a NextToken value.
6276	// To see the next batch of results, you can submit the ListOfferings request
6277	// a second time and specify the NextToken value.
6278	NextToken *string `locationName:"nextToken" type:"string"`
6279
6280	// A list of offerings that are available to this account in the current AWS
6281	// Region.
6282	Offerings []*Offering `locationName:"offerings" type:"list"`
6283}
6284
6285// String returns the string representation
6286func (s ListOfferingsOutput) String() string {
6287	return awsutil.Prettify(s)
6288}
6289
6290// GoString returns the string representation
6291func (s ListOfferingsOutput) GoString() string {
6292	return s.String()
6293}
6294
6295// SetNextToken sets the NextToken field's value.
6296func (s *ListOfferingsOutput) SetNextToken(v string) *ListOfferingsOutput {
6297	s.NextToken = &v
6298	return s
6299}
6300
6301// SetOfferings sets the Offerings field's value.
6302func (s *ListOfferingsOutput) SetOfferings(v []*Offering) *ListOfferingsOutput {
6303	s.Offerings = v
6304	return s
6305}
6306
6307type ListReservationsInput struct {
6308	_ struct{} `type:"structure"`
6309
6310	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6311
6312	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6313}
6314
6315// String returns the string representation
6316func (s ListReservationsInput) String() string {
6317	return awsutil.Prettify(s)
6318}
6319
6320// GoString returns the string representation
6321func (s ListReservationsInput) GoString() string {
6322	return s.String()
6323}
6324
6325// Validate inspects the fields of the type to determine if they are valid.
6326func (s *ListReservationsInput) Validate() error {
6327	invalidParams := request.ErrInvalidParams{Context: "ListReservationsInput"}
6328	if s.MaxResults != nil && *s.MaxResults < 1 {
6329		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6330	}
6331
6332	if invalidParams.Len() > 0 {
6333		return invalidParams
6334	}
6335	return nil
6336}
6337
6338// SetMaxResults sets the MaxResults field's value.
6339func (s *ListReservationsInput) SetMaxResults(v int64) *ListReservationsInput {
6340	s.MaxResults = &v
6341	return s
6342}
6343
6344// SetNextToken sets the NextToken field's value.
6345func (s *ListReservationsInput) SetNextToken(v string) *ListReservationsInput {
6346	s.NextToken = &v
6347	return s
6348}
6349
6350// The result of a successful ListReservations request. The response includes
6351// the details of each offering that your account is eligible for. The response
6352// includes the following information for each offering: description, duration,
6353// outbound bandwidth, price, Amazon Resource Name (ARN), and the NextToken
6354// to use in a subsequent ListOfferings request.
6355type ListReservationsOutput struct {
6356	_ struct{} `type:"structure"`
6357
6358	// The token that identifies which batch of results that you want to see. For
6359	// example, you submit a ListReservations request with MaxResults set at 5.
6360	// The service returns the first batch of results (up to 5) and a NextToken
6361	// value. To see the next batch of results, you can submit the ListReservations
6362	// request a second time and specify the NextToken value.
6363	NextToken *string `locationName:"nextToken" type:"string"`
6364
6365	// A list of all reservations that have been purchased by this account in the
6366	// current AWS Region.
6367	Reservations []*Reservation `locationName:"reservations" type:"list"`
6368}
6369
6370// String returns the string representation
6371func (s ListReservationsOutput) String() string {
6372	return awsutil.Prettify(s)
6373}
6374
6375// GoString returns the string representation
6376func (s ListReservationsOutput) GoString() string {
6377	return s.String()
6378}
6379
6380// SetNextToken sets the NextToken field's value.
6381func (s *ListReservationsOutput) SetNextToken(v string) *ListReservationsOutput {
6382	s.NextToken = &v
6383	return s
6384}
6385
6386// SetReservations sets the Reservations field's value.
6387func (s *ListReservationsOutput) SetReservations(v []*Reservation) *ListReservationsOutput {
6388	s.Reservations = v
6389	return s
6390}
6391
6392type ListTagsForResourceInput struct {
6393	_ struct{} `type:"structure"`
6394
6395	// ResourceArn is a required field
6396	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
6397}
6398
6399// String returns the string representation
6400func (s ListTagsForResourceInput) String() string {
6401	return awsutil.Prettify(s)
6402}
6403
6404// GoString returns the string representation
6405func (s ListTagsForResourceInput) GoString() string {
6406	return s.String()
6407}
6408
6409// Validate inspects the fields of the type to determine if they are valid.
6410func (s *ListTagsForResourceInput) Validate() error {
6411	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
6412	if s.ResourceArn == nil {
6413		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6414	}
6415	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
6416		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
6417	}
6418
6419	if invalidParams.Len() > 0 {
6420		return invalidParams
6421	}
6422	return nil
6423}
6424
6425// SetResourceArn sets the ResourceArn field's value.
6426func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
6427	s.ResourceArn = &v
6428	return s
6429}
6430
6431// The tags for the resource.
6432type ListTagsForResourceOutput struct {
6433	_ struct{} `type:"structure"`
6434
6435	// A map from tag keys to values. Tag keys can have a maximum character length
6436	// of 128 characters, and tag values can have a maximum length of 256 characters.
6437	Tags map[string]*string `locationName:"tags" type:"map"`
6438}
6439
6440// String returns the string representation
6441func (s ListTagsForResourceOutput) String() string {
6442	return awsutil.Prettify(s)
6443}
6444
6445// GoString returns the string representation
6446func (s ListTagsForResourceOutput) GoString() string {
6447	return s.String()
6448}
6449
6450// SetTags sets the Tags field's value.
6451func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
6452	s.Tags = v
6453	return s
6454}
6455
6456// An entitlement that has been granted to you from other AWS accounts.
6457type ListedEntitlement struct {
6458	_ struct{} `type:"structure"`
6459
6460	// Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
6461	DataTransferSubscriberFeePercent *int64 `locationName:"dataTransferSubscriberFeePercent" type:"integer"`
6462
6463	// The ARN of the entitlement.
6464	//
6465	// EntitlementArn is a required field
6466	EntitlementArn *string `locationName:"entitlementArn" type:"string" required:"true"`
6467
6468	// The name of the entitlement.
6469	//
6470	// EntitlementName is a required field
6471	EntitlementName *string `locationName:"entitlementName" type:"string" required:"true"`
6472}
6473
6474// String returns the string representation
6475func (s ListedEntitlement) String() string {
6476	return awsutil.Prettify(s)
6477}
6478
6479// GoString returns the string representation
6480func (s ListedEntitlement) GoString() string {
6481	return s.String()
6482}
6483
6484// SetDataTransferSubscriberFeePercent sets the DataTransferSubscriberFeePercent field's value.
6485func (s *ListedEntitlement) SetDataTransferSubscriberFeePercent(v int64) *ListedEntitlement {
6486	s.DataTransferSubscriberFeePercent = &v
6487	return s
6488}
6489
6490// SetEntitlementArn sets the EntitlementArn field's value.
6491func (s *ListedEntitlement) SetEntitlementArn(v string) *ListedEntitlement {
6492	s.EntitlementArn = &v
6493	return s
6494}
6495
6496// SetEntitlementName sets the EntitlementName field's value.
6497func (s *ListedEntitlement) SetEntitlementName(v string) *ListedEntitlement {
6498	s.EntitlementName = &v
6499	return s
6500}
6501
6502// Provides a summary of a flow, including its ARN, Availability Zone, and source
6503// type.
6504type ListedFlow struct {
6505	_ struct{} `type:"structure"`
6506
6507	// The Availability Zone that the flow was created in.
6508	//
6509	// AvailabilityZone is a required field
6510	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
6511
6512	// A description of the flow.
6513	//
6514	// Description is a required field
6515	Description *string `locationName:"description" type:"string" required:"true"`
6516
6517	// The ARN of the flow.
6518	//
6519	// FlowArn is a required field
6520	FlowArn *string `locationName:"flowArn" type:"string" required:"true"`
6521
6522	// The name of the flow.
6523	//
6524	// Name is a required field
6525	Name *string `locationName:"name" type:"string" required:"true"`
6526
6527	// The type of source. This value is either owned (originated somewhere other
6528	// than an AWS Elemental MediaConnect flow owned by another AWS account) or
6529	// entitled (originated at an AWS Elemental MediaConnect flow owned by another
6530	// AWS account).
6531	//
6532	// SourceType is a required field
6533	SourceType *string `locationName:"sourceType" type:"string" required:"true" enum:"SourceType"`
6534
6535	// The current status of the flow.
6536	//
6537	// Status is a required field
6538	Status *string `locationName:"status" type:"string" required:"true" enum:"Status"`
6539}
6540
6541// String returns the string representation
6542func (s ListedFlow) String() string {
6543	return awsutil.Prettify(s)
6544}
6545
6546// GoString returns the string representation
6547func (s ListedFlow) GoString() string {
6548	return s.String()
6549}
6550
6551// SetAvailabilityZone sets the AvailabilityZone field's value.
6552func (s *ListedFlow) SetAvailabilityZone(v string) *ListedFlow {
6553	s.AvailabilityZone = &v
6554	return s
6555}
6556
6557// SetDescription sets the Description field's value.
6558func (s *ListedFlow) SetDescription(v string) *ListedFlow {
6559	s.Description = &v
6560	return s
6561}
6562
6563// SetFlowArn sets the FlowArn field's value.
6564func (s *ListedFlow) SetFlowArn(v string) *ListedFlow {
6565	s.FlowArn = &v
6566	return s
6567}
6568
6569// SetName sets the Name field's value.
6570func (s *ListedFlow) SetName(v string) *ListedFlow {
6571	s.Name = &v
6572	return s
6573}
6574
6575// SetSourceType sets the SourceType field's value.
6576func (s *ListedFlow) SetSourceType(v string) *ListedFlow {
6577	s.SourceType = &v
6578	return s
6579}
6580
6581// SetStatus sets the Status field's value.
6582func (s *ListedFlow) SetStatus(v string) *ListedFlow {
6583	s.Status = &v
6584	return s
6585}
6586
6587// A single track or stream of media that contains video, audio, or ancillary
6588// data. After you add a media stream to a flow, you can associate it with sources
6589// and outputs on that flow, as long as they use the CDI protocol or the ST
6590// 2110 JPEG XS protocol. Each source or output can consist of one or many media
6591// streams.
6592type MediaStream struct {
6593	_ struct{} `type:"structure"`
6594
6595	// Attributes that are related to the media stream.
6596	Attributes *MediaStreamAttributes `locationName:"attributes" type:"structure"`
6597
6598	// The sample rate for the stream. This value is measured in Hz.
6599	ClockRate *int64 `locationName:"clockRate" type:"integer"`
6600
6601	// A description that can help you quickly identify what your media stream is
6602	// used for.
6603	Description *string `locationName:"description" type:"string"`
6604
6605	// The format type number (sometimes referred to as RTP payload type) of the
6606	// media stream. MediaConnect assigns this value to the media stream. For ST
6607	// 2110 JPEG XS outputs, you need to provide this value to the receiver.
6608	//
6609	// Fmt is a required field
6610	Fmt *int64 `locationName:"fmt" type:"integer" required:"true"`
6611
6612	// A unique identifier for the media stream.
6613	//
6614	// MediaStreamId is a required field
6615	MediaStreamId *int64 `locationName:"mediaStreamId" type:"integer" required:"true"`
6616
6617	// A name that helps you distinguish one media stream from another.
6618	//
6619	// MediaStreamName is a required field
6620	MediaStreamName *string `locationName:"mediaStreamName" type:"string" required:"true"`
6621
6622	// The type of media stream.
6623	//
6624	// MediaStreamType is a required field
6625	MediaStreamType *string `locationName:"mediaStreamType" type:"string" required:"true" enum:"MediaStreamType"`
6626
6627	// The resolution of the video.
6628	VideoFormat *string `locationName:"videoFormat" type:"string"`
6629}
6630
6631// String returns the string representation
6632func (s MediaStream) String() string {
6633	return awsutil.Prettify(s)
6634}
6635
6636// GoString returns the string representation
6637func (s MediaStream) GoString() string {
6638	return s.String()
6639}
6640
6641// SetAttributes sets the Attributes field's value.
6642func (s *MediaStream) SetAttributes(v *MediaStreamAttributes) *MediaStream {
6643	s.Attributes = v
6644	return s
6645}
6646
6647// SetClockRate sets the ClockRate field's value.
6648func (s *MediaStream) SetClockRate(v int64) *MediaStream {
6649	s.ClockRate = &v
6650	return s
6651}
6652
6653// SetDescription sets the Description field's value.
6654func (s *MediaStream) SetDescription(v string) *MediaStream {
6655	s.Description = &v
6656	return s
6657}
6658
6659// SetFmt sets the Fmt field's value.
6660func (s *MediaStream) SetFmt(v int64) *MediaStream {
6661	s.Fmt = &v
6662	return s
6663}
6664
6665// SetMediaStreamId sets the MediaStreamId field's value.
6666func (s *MediaStream) SetMediaStreamId(v int64) *MediaStream {
6667	s.MediaStreamId = &v
6668	return s
6669}
6670
6671// SetMediaStreamName sets the MediaStreamName field's value.
6672func (s *MediaStream) SetMediaStreamName(v string) *MediaStream {
6673	s.MediaStreamName = &v
6674	return s
6675}
6676
6677// SetMediaStreamType sets the MediaStreamType field's value.
6678func (s *MediaStream) SetMediaStreamType(v string) *MediaStream {
6679	s.MediaStreamType = &v
6680	return s
6681}
6682
6683// SetVideoFormat sets the VideoFormat field's value.
6684func (s *MediaStream) SetVideoFormat(v string) *MediaStream {
6685	s.VideoFormat = &v
6686	return s
6687}
6688
6689// Attributes that are related to the media stream.
6690type MediaStreamAttributes struct {
6691	_ struct{} `type:"structure"`
6692
6693	// A set of parameters that define the media stream.
6694	//
6695	// Fmtp is a required field
6696	Fmtp *Fmtp `locationName:"fmtp" type:"structure" required:"true"`
6697
6698	// The audio language, in a format that is recognized by the receiver.
6699	Lang *string `locationName:"lang" type:"string"`
6700}
6701
6702// String returns the string representation
6703func (s MediaStreamAttributes) String() string {
6704	return awsutil.Prettify(s)
6705}
6706
6707// GoString returns the string representation
6708func (s MediaStreamAttributes) GoString() string {
6709	return s.String()
6710}
6711
6712// SetFmtp sets the Fmtp field's value.
6713func (s *MediaStreamAttributes) SetFmtp(v *Fmtp) *MediaStreamAttributes {
6714	s.Fmtp = v
6715	return s
6716}
6717
6718// SetLang sets the Lang field's value.
6719func (s *MediaStreamAttributes) SetLang(v string) *MediaStreamAttributes {
6720	s.Lang = &v
6721	return s
6722}
6723
6724// Attributes that are related to the media stream.
6725type MediaStreamAttributesRequest struct {
6726	_ struct{} `type:"structure"`
6727
6728	// The settings that you want to use to define the media stream.
6729	Fmtp *FmtpRequest `locationName:"fmtp" type:"structure"`
6730
6731	// The audio language, in a format that is recognized by the receiver.
6732	Lang *string `locationName:"lang" type:"string"`
6733}
6734
6735// String returns the string representation
6736func (s MediaStreamAttributesRequest) String() string {
6737	return awsutil.Prettify(s)
6738}
6739
6740// GoString returns the string representation
6741func (s MediaStreamAttributesRequest) GoString() string {
6742	return s.String()
6743}
6744
6745// SetFmtp sets the Fmtp field's value.
6746func (s *MediaStreamAttributesRequest) SetFmtp(v *FmtpRequest) *MediaStreamAttributesRequest {
6747	s.Fmtp = v
6748	return s
6749}
6750
6751// SetLang sets the Lang field's value.
6752func (s *MediaStreamAttributesRequest) SetLang(v string) *MediaStreamAttributesRequest {
6753	s.Lang = &v
6754	return s
6755}
6756
6757// The media stream that is associated with the output, and the parameters for
6758// that association.
6759type MediaStreamOutputConfiguration struct {
6760	_ struct{} `type:"structure"`
6761
6762	// The transport parameters that are associated with each outbound media stream.
6763	DestinationConfigurations []*DestinationConfiguration `locationName:"destinationConfigurations" type:"list"`
6764
6765	// The format that was used to encode the data. For ancillary data streams,
6766	// set the encoding name to smpte291. For audio streams, set the encoding name
6767	// to pcm. For video, 2110 streams, set the encoding name to raw. For video,
6768	// JPEG XS streams, set the encoding name to jxsv.
6769	//
6770	// EncodingName is a required field
6771	EncodingName *string `locationName:"encodingName" type:"string" required:"true" enum:"EncodingName"`
6772
6773	// Encoding parameters
6774	EncodingParameters *EncodingParameters `locationName:"encodingParameters" type:"structure"`
6775
6776	// The name of the media stream.
6777	//
6778	// MediaStreamName is a required field
6779	MediaStreamName *string `locationName:"mediaStreamName" type:"string" required:"true"`
6780}
6781
6782// String returns the string representation
6783func (s MediaStreamOutputConfiguration) String() string {
6784	return awsutil.Prettify(s)
6785}
6786
6787// GoString returns the string representation
6788func (s MediaStreamOutputConfiguration) GoString() string {
6789	return s.String()
6790}
6791
6792// SetDestinationConfigurations sets the DestinationConfigurations field's value.
6793func (s *MediaStreamOutputConfiguration) SetDestinationConfigurations(v []*DestinationConfiguration) *MediaStreamOutputConfiguration {
6794	s.DestinationConfigurations = v
6795	return s
6796}
6797
6798// SetEncodingName sets the EncodingName field's value.
6799func (s *MediaStreamOutputConfiguration) SetEncodingName(v string) *MediaStreamOutputConfiguration {
6800	s.EncodingName = &v
6801	return s
6802}
6803
6804// SetEncodingParameters sets the EncodingParameters field's value.
6805func (s *MediaStreamOutputConfiguration) SetEncodingParameters(v *EncodingParameters) *MediaStreamOutputConfiguration {
6806	s.EncodingParameters = v
6807	return s
6808}
6809
6810// SetMediaStreamName sets the MediaStreamName field's value.
6811func (s *MediaStreamOutputConfiguration) SetMediaStreamName(v string) *MediaStreamOutputConfiguration {
6812	s.MediaStreamName = &v
6813	return s
6814}
6815
6816// The media stream that you want to associate with the output, and the parameters
6817// for that association.
6818type MediaStreamOutputConfigurationRequest struct {
6819	_ struct{} `type:"structure"`
6820
6821	// The transport parameters that you want to associate with the media stream.
6822	DestinationConfigurations []*DestinationConfigurationRequest `locationName:"destinationConfigurations" type:"list"`
6823
6824	// The format that will be used to encode the data. For ancillary data streams,
6825	// set the encoding name to smpte291. For audio streams, set the encoding name
6826	// to pcm. For video, 2110 streams, set the encoding name to raw. For video,
6827	// JPEG XS streams, set the encoding name to jxsv.
6828	//
6829	// EncodingName is a required field
6830	EncodingName *string `locationName:"encodingName" type:"string" required:"true" enum:"EncodingName"`
6831
6832	// A collection of parameters that determine how MediaConnect will convert the
6833	// content. These fields only apply to outputs on flows that have a CDI source.
6834	EncodingParameters *EncodingParametersRequest `locationName:"encodingParameters" type:"structure"`
6835
6836	// The name of the media stream that is associated with the output.
6837	//
6838	// MediaStreamName is a required field
6839	MediaStreamName *string `locationName:"mediaStreamName" type:"string" required:"true"`
6840}
6841
6842// String returns the string representation
6843func (s MediaStreamOutputConfigurationRequest) String() string {
6844	return awsutil.Prettify(s)
6845}
6846
6847// GoString returns the string representation
6848func (s MediaStreamOutputConfigurationRequest) GoString() string {
6849	return s.String()
6850}
6851
6852// Validate inspects the fields of the type to determine if they are valid.
6853func (s *MediaStreamOutputConfigurationRequest) Validate() error {
6854	invalidParams := request.ErrInvalidParams{Context: "MediaStreamOutputConfigurationRequest"}
6855	if s.EncodingName == nil {
6856		invalidParams.Add(request.NewErrParamRequired("EncodingName"))
6857	}
6858	if s.MediaStreamName == nil {
6859		invalidParams.Add(request.NewErrParamRequired("MediaStreamName"))
6860	}
6861	if s.DestinationConfigurations != nil {
6862		for i, v := range s.DestinationConfigurations {
6863			if v == nil {
6864				continue
6865			}
6866			if err := v.Validate(); err != nil {
6867				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DestinationConfigurations", i), err.(request.ErrInvalidParams))
6868			}
6869		}
6870	}
6871	if s.EncodingParameters != nil {
6872		if err := s.EncodingParameters.Validate(); err != nil {
6873			invalidParams.AddNested("EncodingParameters", err.(request.ErrInvalidParams))
6874		}
6875	}
6876
6877	if invalidParams.Len() > 0 {
6878		return invalidParams
6879	}
6880	return nil
6881}
6882
6883// SetDestinationConfigurations sets the DestinationConfigurations field's value.
6884func (s *MediaStreamOutputConfigurationRequest) SetDestinationConfigurations(v []*DestinationConfigurationRequest) *MediaStreamOutputConfigurationRequest {
6885	s.DestinationConfigurations = v
6886	return s
6887}
6888
6889// SetEncodingName sets the EncodingName field's value.
6890func (s *MediaStreamOutputConfigurationRequest) SetEncodingName(v string) *MediaStreamOutputConfigurationRequest {
6891	s.EncodingName = &v
6892	return s
6893}
6894
6895// SetEncodingParameters sets the EncodingParameters field's value.
6896func (s *MediaStreamOutputConfigurationRequest) SetEncodingParameters(v *EncodingParametersRequest) *MediaStreamOutputConfigurationRequest {
6897	s.EncodingParameters = v
6898	return s
6899}
6900
6901// SetMediaStreamName sets the MediaStreamName field's value.
6902func (s *MediaStreamOutputConfigurationRequest) SetMediaStreamName(v string) *MediaStreamOutputConfigurationRequest {
6903	s.MediaStreamName = &v
6904	return s
6905}
6906
6907// The media stream that is associated with the source, and the parameters for
6908// that association.
6909type MediaStreamSourceConfiguration struct {
6910	_ struct{} `type:"structure"`
6911
6912	// The format that was used to encode the data. For ancillary data streams,
6913	// set the encoding name to smpte291. For audio streams, set the encoding name
6914	// to pcm. For video, 2110 streams, set the encoding name to raw. For video,
6915	// JPEG XS streams, set the encoding name to jxsv.
6916	//
6917	// EncodingName is a required field
6918	EncodingName *string `locationName:"encodingName" type:"string" required:"true" enum:"EncodingName"`
6919
6920	// The transport parameters that are associated with an incoming media stream.
6921	InputConfigurations []*InputConfiguration `locationName:"inputConfigurations" type:"list"`
6922
6923	// The name of the media stream.
6924	//
6925	// MediaStreamName is a required field
6926	MediaStreamName *string `locationName:"mediaStreamName" type:"string" required:"true"`
6927}
6928
6929// String returns the string representation
6930func (s MediaStreamSourceConfiguration) String() string {
6931	return awsutil.Prettify(s)
6932}
6933
6934// GoString returns the string representation
6935func (s MediaStreamSourceConfiguration) GoString() string {
6936	return s.String()
6937}
6938
6939// SetEncodingName sets the EncodingName field's value.
6940func (s *MediaStreamSourceConfiguration) SetEncodingName(v string) *MediaStreamSourceConfiguration {
6941	s.EncodingName = &v
6942	return s
6943}
6944
6945// SetInputConfigurations sets the InputConfigurations field's value.
6946func (s *MediaStreamSourceConfiguration) SetInputConfigurations(v []*InputConfiguration) *MediaStreamSourceConfiguration {
6947	s.InputConfigurations = v
6948	return s
6949}
6950
6951// SetMediaStreamName sets the MediaStreamName field's value.
6952func (s *MediaStreamSourceConfiguration) SetMediaStreamName(v string) *MediaStreamSourceConfiguration {
6953	s.MediaStreamName = &v
6954	return s
6955}
6956
6957// The definition of a media stream that you want to associate with the source.
6958type MediaStreamSourceConfigurationRequest struct {
6959	_ struct{} `type:"structure"`
6960
6961	// The format you want to use to encode the data. For ancillary data streams,
6962	// set the encoding name to smpte291. For audio streams, set the encoding name
6963	// to pcm. For video, 2110 streams, set the encoding name to raw. For video,
6964	// JPEG XS streams, set the encoding name to jxsv.
6965	//
6966	// EncodingName is a required field
6967	EncodingName *string `locationName:"encodingName" type:"string" required:"true" enum:"EncodingName"`
6968
6969	// The transport parameters that you want to associate with the media stream.
6970	InputConfigurations []*InputConfigurationRequest `locationName:"inputConfigurations" type:"list"`
6971
6972	// The name of the media stream.
6973	//
6974	// MediaStreamName is a required field
6975	MediaStreamName *string `locationName:"mediaStreamName" type:"string" required:"true"`
6976}
6977
6978// String returns the string representation
6979func (s MediaStreamSourceConfigurationRequest) String() string {
6980	return awsutil.Prettify(s)
6981}
6982
6983// GoString returns the string representation
6984func (s MediaStreamSourceConfigurationRequest) GoString() string {
6985	return s.String()
6986}
6987
6988// Validate inspects the fields of the type to determine if they are valid.
6989func (s *MediaStreamSourceConfigurationRequest) Validate() error {
6990	invalidParams := request.ErrInvalidParams{Context: "MediaStreamSourceConfigurationRequest"}
6991	if s.EncodingName == nil {
6992		invalidParams.Add(request.NewErrParamRequired("EncodingName"))
6993	}
6994	if s.MediaStreamName == nil {
6995		invalidParams.Add(request.NewErrParamRequired("MediaStreamName"))
6996	}
6997	if s.InputConfigurations != nil {
6998		for i, v := range s.InputConfigurations {
6999			if v == nil {
7000				continue
7001			}
7002			if err := v.Validate(); err != nil {
7003				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputConfigurations", i), err.(request.ErrInvalidParams))
7004			}
7005		}
7006	}
7007
7008	if invalidParams.Len() > 0 {
7009		return invalidParams
7010	}
7011	return nil
7012}
7013
7014// SetEncodingName sets the EncodingName field's value.
7015func (s *MediaStreamSourceConfigurationRequest) SetEncodingName(v string) *MediaStreamSourceConfigurationRequest {
7016	s.EncodingName = &v
7017	return s
7018}
7019
7020// SetInputConfigurations sets the InputConfigurations field's value.
7021func (s *MediaStreamSourceConfigurationRequest) SetInputConfigurations(v []*InputConfigurationRequest) *MediaStreamSourceConfigurationRequest {
7022	s.InputConfigurations = v
7023	return s
7024}
7025
7026// SetMediaStreamName sets the MediaStreamName field's value.
7027func (s *MediaStreamSourceConfigurationRequest) SetMediaStreamName(v string) *MediaStreamSourceConfigurationRequest {
7028	s.MediaStreamName = &v
7029	return s
7030}
7031
7032// Messages that provide the state of the flow.
7033type Messages struct {
7034	_ struct{} `type:"structure"`
7035
7036	// A list of errors that might have been generated from processes on this flow.
7037	//
7038	// Errors is a required field
7039	Errors []*string `locationName:"errors" type:"list" required:"true"`
7040}
7041
7042// String returns the string representation
7043func (s Messages) String() string {
7044	return awsutil.Prettify(s)
7045}
7046
7047// GoString returns the string representation
7048func (s Messages) GoString() string {
7049	return s.String()
7050}
7051
7052// SetErrors sets the Errors field's value.
7053func (s *Messages) SetErrors(v []*string) *Messages {
7054	s.Errors = v
7055	return s
7056}
7057
7058// Exception raised by AWS Elemental MediaConnect. See the error message and
7059// documentation for the operation for more information on the cause of this
7060// exception.
7061type NotFoundException struct {
7062	_            struct{}                  `type:"structure"`
7063	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7064
7065	Message_ *string `locationName:"message" type:"string"`
7066}
7067
7068// String returns the string representation
7069func (s NotFoundException) String() string {
7070	return awsutil.Prettify(s)
7071}
7072
7073// GoString returns the string representation
7074func (s NotFoundException) GoString() string {
7075	return s.String()
7076}
7077
7078func newErrorNotFoundException(v protocol.ResponseMetadata) error {
7079	return &NotFoundException{
7080		RespMetadata: v,
7081	}
7082}
7083
7084// Code returns the exception type name.
7085func (s *NotFoundException) Code() string {
7086	return "NotFoundException"
7087}
7088
7089// Message returns the exception's message.
7090func (s *NotFoundException) Message() string {
7091	if s.Message_ != nil {
7092		return *s.Message_
7093	}
7094	return ""
7095}
7096
7097// OrigErr always returns nil, satisfies awserr.Error interface.
7098func (s *NotFoundException) OrigErr() error {
7099	return nil
7100}
7101
7102func (s *NotFoundException) Error() string {
7103	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7104}
7105
7106// Status code returns the HTTP status code for the request's response error.
7107func (s *NotFoundException) StatusCode() int {
7108	return s.RespMetadata.StatusCode
7109}
7110
7111// RequestID returns the service's response RequestID for request.
7112func (s *NotFoundException) RequestID() string {
7113	return s.RespMetadata.RequestID
7114}
7115
7116// A savings plan that reserves a certain amount of outbound bandwidth usage
7117// at a discounted rate each month over a period of time.
7118type Offering struct {
7119	_ struct{} `type:"structure"`
7120
7121	// The type of currency that is used for billing. The currencyCode used for
7122	// all reservations is US dollars.
7123	//
7124	// CurrencyCode is a required field
7125	CurrencyCode *string `locationName:"currencyCode" type:"string" required:"true"`
7126
7127	// The length of time that your reservation would be active.
7128	//
7129	// Duration is a required field
7130	Duration *int64 `locationName:"duration" type:"integer" required:"true"`
7131
7132	// The unit of measurement for the duration of the offering.
7133	//
7134	// DurationUnits is a required field
7135	DurationUnits *string `locationName:"durationUnits" type:"string" required:"true" enum:"DurationUnits"`
7136
7137	// The Amazon Resource Name (ARN) that MediaConnect assigns to the offering.
7138	//
7139	// OfferingArn is a required field
7140	OfferingArn *string `locationName:"offeringArn" type:"string" required:"true"`
7141
7142	// A description of the offering.
7143	//
7144	// OfferingDescription is a required field
7145	OfferingDescription *string `locationName:"offeringDescription" type:"string" required:"true"`
7146
7147	// The cost of a single unit. This value, in combination with priceUnits, makes
7148	// up the rate.
7149	//
7150	// PricePerUnit is a required field
7151	PricePerUnit *string `locationName:"pricePerUnit" type:"string" required:"true"`
7152
7153	// The unit of measurement that is used for billing. This value, in combination
7154	// with pricePerUnit, makes up the rate.
7155	//
7156	// PriceUnits is a required field
7157	PriceUnits *string `locationName:"priceUnits" type:"string" required:"true" enum:"PriceUnits"`
7158
7159	// A definition of the amount of outbound bandwidth that you would be reserving
7160	// if you purchase the offering.
7161	//
7162	// ResourceSpecification is a required field
7163	ResourceSpecification *ResourceSpecification `locationName:"resourceSpecification" type:"structure" required:"true"`
7164}
7165
7166// String returns the string representation
7167func (s Offering) String() string {
7168	return awsutil.Prettify(s)
7169}
7170
7171// GoString returns the string representation
7172func (s Offering) GoString() string {
7173	return s.String()
7174}
7175
7176// SetCurrencyCode sets the CurrencyCode field's value.
7177func (s *Offering) SetCurrencyCode(v string) *Offering {
7178	s.CurrencyCode = &v
7179	return s
7180}
7181
7182// SetDuration sets the Duration field's value.
7183func (s *Offering) SetDuration(v int64) *Offering {
7184	s.Duration = &v
7185	return s
7186}
7187
7188// SetDurationUnits sets the DurationUnits field's value.
7189func (s *Offering) SetDurationUnits(v string) *Offering {
7190	s.DurationUnits = &v
7191	return s
7192}
7193
7194// SetOfferingArn sets the OfferingArn field's value.
7195func (s *Offering) SetOfferingArn(v string) *Offering {
7196	s.OfferingArn = &v
7197	return s
7198}
7199
7200// SetOfferingDescription sets the OfferingDescription field's value.
7201func (s *Offering) SetOfferingDescription(v string) *Offering {
7202	s.OfferingDescription = &v
7203	return s
7204}
7205
7206// SetPricePerUnit sets the PricePerUnit field's value.
7207func (s *Offering) SetPricePerUnit(v string) *Offering {
7208	s.PricePerUnit = &v
7209	return s
7210}
7211
7212// SetPriceUnits sets the PriceUnits field's value.
7213func (s *Offering) SetPriceUnits(v string) *Offering {
7214	s.PriceUnits = &v
7215	return s
7216}
7217
7218// SetResourceSpecification sets the ResourceSpecification field's value.
7219func (s *Offering) SetResourceSpecification(v *ResourceSpecification) *Offering {
7220	s.ResourceSpecification = v
7221	return s
7222}
7223
7224// The settings for an output.
7225type Output struct {
7226	_ struct{} `type:"structure"`
7227
7228	// Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
7229	DataTransferSubscriberFeePercent *int64 `locationName:"dataTransferSubscriberFeePercent" type:"integer"`
7230
7231	// A description of the output.
7232	Description *string `locationName:"description" type:"string"`
7233
7234	// The address where you want to send the output.
7235	Destination *string `locationName:"destination" type:"string"`
7236
7237	// The type of key used for the encryption. If no keyType is provided, the service
7238	// will use the default setting (static-key).
7239	Encryption *Encryption `locationName:"encryption" type:"structure"`
7240
7241	// The ARN of the entitlement on the originator''s flow. This value is relevant
7242	// only on entitled flows.
7243	EntitlementArn *string `locationName:"entitlementArn" type:"string"`
7244
7245	// The IP address that the receiver requires in order to establish a connection
7246	// with the flow. For public networking, the ListenerAddress is represented
7247	// by the elastic IP address of the flow. For private networking, the ListenerAddress
7248	// is represented by the elastic network interface IP address of the VPC. This
7249	// field applies only to outputs that use the Zixi pull or SRT listener protocol.
7250	ListenerAddress *string `locationName:"listenerAddress" type:"string"`
7251
7252	// The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant
7253	// only for outputs that were added by creating a MediaLive input.
7254	MediaLiveInputArn *string `locationName:"mediaLiveInputArn" type:"string"`
7255
7256	// The configuration for each media stream that is associated with the output.
7257	MediaStreamOutputConfigurations []*MediaStreamOutputConfiguration `locationName:"mediaStreamOutputConfigurations" type:"list"`
7258
7259	// The name of the output. This value must be unique within the current flow.
7260	//
7261	// Name is a required field
7262	Name *string `locationName:"name" type:"string" required:"true"`
7263
7264	// The ARN of the output.
7265	//
7266	// OutputArn is a required field
7267	OutputArn *string `locationName:"outputArn" type:"string" required:"true"`
7268
7269	// The port to use when content is distributed to this output.
7270	Port *int64 `locationName:"port" type:"integer"`
7271
7272	// Attributes related to the transport stream that are used in the output.
7273	Transport *Transport `locationName:"transport" type:"structure"`
7274
7275	// The name of the VPC interface attachment to use for this output.
7276	VpcInterfaceAttachment *VpcInterfaceAttachment `locationName:"vpcInterfaceAttachment" type:"structure"`
7277}
7278
7279// String returns the string representation
7280func (s Output) String() string {
7281	return awsutil.Prettify(s)
7282}
7283
7284// GoString returns the string representation
7285func (s Output) GoString() string {
7286	return s.String()
7287}
7288
7289// SetDataTransferSubscriberFeePercent sets the DataTransferSubscriberFeePercent field's value.
7290func (s *Output) SetDataTransferSubscriberFeePercent(v int64) *Output {
7291	s.DataTransferSubscriberFeePercent = &v
7292	return s
7293}
7294
7295// SetDescription sets the Description field's value.
7296func (s *Output) SetDescription(v string) *Output {
7297	s.Description = &v
7298	return s
7299}
7300
7301// SetDestination sets the Destination field's value.
7302func (s *Output) SetDestination(v string) *Output {
7303	s.Destination = &v
7304	return s
7305}
7306
7307// SetEncryption sets the Encryption field's value.
7308func (s *Output) SetEncryption(v *Encryption) *Output {
7309	s.Encryption = v
7310	return s
7311}
7312
7313// SetEntitlementArn sets the EntitlementArn field's value.
7314func (s *Output) SetEntitlementArn(v string) *Output {
7315	s.EntitlementArn = &v
7316	return s
7317}
7318
7319// SetListenerAddress sets the ListenerAddress field's value.
7320func (s *Output) SetListenerAddress(v string) *Output {
7321	s.ListenerAddress = &v
7322	return s
7323}
7324
7325// SetMediaLiveInputArn sets the MediaLiveInputArn field's value.
7326func (s *Output) SetMediaLiveInputArn(v string) *Output {
7327	s.MediaLiveInputArn = &v
7328	return s
7329}
7330
7331// SetMediaStreamOutputConfigurations sets the MediaStreamOutputConfigurations field's value.
7332func (s *Output) SetMediaStreamOutputConfigurations(v []*MediaStreamOutputConfiguration) *Output {
7333	s.MediaStreamOutputConfigurations = v
7334	return s
7335}
7336
7337// SetName sets the Name field's value.
7338func (s *Output) SetName(v string) *Output {
7339	s.Name = &v
7340	return s
7341}
7342
7343// SetOutputArn sets the OutputArn field's value.
7344func (s *Output) SetOutputArn(v string) *Output {
7345	s.OutputArn = &v
7346	return s
7347}
7348
7349// SetPort sets the Port field's value.
7350func (s *Output) SetPort(v int64) *Output {
7351	s.Port = &v
7352	return s
7353}
7354
7355// SetTransport sets the Transport field's value.
7356func (s *Output) SetTransport(v *Transport) *Output {
7357	s.Transport = v
7358	return s
7359}
7360
7361// SetVpcInterfaceAttachment sets the VpcInterfaceAttachment field's value.
7362func (s *Output) SetVpcInterfaceAttachment(v *VpcInterfaceAttachment) *Output {
7363	s.VpcInterfaceAttachment = v
7364	return s
7365}
7366
7367// Submits a request to purchase an offering, which creates a reservation in
7368// your AWS account. If you already have an active reservation, you can't purchase
7369// another offering.
7370type PurchaseOfferingInput struct {
7371	_ struct{} `type:"structure"`
7372
7373	// OfferingArn is a required field
7374	OfferingArn *string `location:"uri" locationName:"offeringArn" type:"string" required:"true"`
7375
7376	// The name that you want to use for the reservation.
7377	//
7378	// ReservationName is a required field
7379	ReservationName *string `locationName:"reservationName" type:"string" required:"true"`
7380
7381	// The date and time that you want the reservation to begin, in Coordinated
7382	// Universal Time (UTC). You can specify any date and time between 12:00am on
7383	// the first day of the current month to the current time on today's date, inclusive.
7384	// Specify the start in a 24-hour notation. Use the following format: YYYY-MM-DDTHH:mm:SSZ,
7385	// where T and Z are literal characters. For example, to specify 11:30pm on
7386	// March 5, 2020, enter 2020-03-05T23:30:00Z.
7387	//
7388	// Start is a required field
7389	Start *string `locationName:"start" type:"string" required:"true"`
7390}
7391
7392// String returns the string representation
7393func (s PurchaseOfferingInput) String() string {
7394	return awsutil.Prettify(s)
7395}
7396
7397// GoString returns the string representation
7398func (s PurchaseOfferingInput) GoString() string {
7399	return s.String()
7400}
7401
7402// Validate inspects the fields of the type to determine if they are valid.
7403func (s *PurchaseOfferingInput) Validate() error {
7404	invalidParams := request.ErrInvalidParams{Context: "PurchaseOfferingInput"}
7405	if s.OfferingArn == nil {
7406		invalidParams.Add(request.NewErrParamRequired("OfferingArn"))
7407	}
7408	if s.OfferingArn != nil && len(*s.OfferingArn) < 1 {
7409		invalidParams.Add(request.NewErrParamMinLen("OfferingArn", 1))
7410	}
7411	if s.ReservationName == nil {
7412		invalidParams.Add(request.NewErrParamRequired("ReservationName"))
7413	}
7414	if s.Start == nil {
7415		invalidParams.Add(request.NewErrParamRequired("Start"))
7416	}
7417
7418	if invalidParams.Len() > 0 {
7419		return invalidParams
7420	}
7421	return nil
7422}
7423
7424// SetOfferingArn sets the OfferingArn field's value.
7425func (s *PurchaseOfferingInput) SetOfferingArn(v string) *PurchaseOfferingInput {
7426	s.OfferingArn = &v
7427	return s
7428}
7429
7430// SetReservationName sets the ReservationName field's value.
7431func (s *PurchaseOfferingInput) SetReservationName(v string) *PurchaseOfferingInput {
7432	s.ReservationName = &v
7433	return s
7434}
7435
7436// SetStart sets the Start field's value.
7437func (s *PurchaseOfferingInput) SetStart(v string) *PurchaseOfferingInput {
7438	s.Start = &v
7439	return s
7440}
7441
7442// The result of a successful PurchaseOffering request.
7443type PurchaseOfferingOutput struct {
7444	_ struct{} `type:"structure"`
7445
7446	// A pricing agreement for a discounted rate for a specific outbound bandwidth
7447	// that your MediaConnect account will use each month over a specific time period.
7448	// The discounted rate in the reservation applies to outbound bandwidth for
7449	// all flows from your account until your account reaches the amount of bandwidth
7450	// in your reservation. If you use more outbound bandwidth than the agreed upon
7451	// amount in a single month, the overage is charged at the on-demand rate.
7452	Reservation *Reservation `locationName:"reservation" type:"structure"`
7453}
7454
7455// String returns the string representation
7456func (s PurchaseOfferingOutput) String() string {
7457	return awsutil.Prettify(s)
7458}
7459
7460// GoString returns the string representation
7461func (s PurchaseOfferingOutput) GoString() string {
7462	return s.String()
7463}
7464
7465// SetReservation sets the Reservation field's value.
7466func (s *PurchaseOfferingOutput) SetReservation(v *Reservation) *PurchaseOfferingOutput {
7467	s.Reservation = v
7468	return s
7469}
7470
7471type RemoveFlowMediaStreamInput struct {
7472	_ struct{} `type:"structure"`
7473
7474	// FlowArn is a required field
7475	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
7476
7477	// MediaStreamName is a required field
7478	MediaStreamName *string `location:"uri" locationName:"mediaStreamName" type:"string" required:"true"`
7479}
7480
7481// String returns the string representation
7482func (s RemoveFlowMediaStreamInput) String() string {
7483	return awsutil.Prettify(s)
7484}
7485
7486// GoString returns the string representation
7487func (s RemoveFlowMediaStreamInput) GoString() string {
7488	return s.String()
7489}
7490
7491// Validate inspects the fields of the type to determine if they are valid.
7492func (s *RemoveFlowMediaStreamInput) Validate() error {
7493	invalidParams := request.ErrInvalidParams{Context: "RemoveFlowMediaStreamInput"}
7494	if s.FlowArn == nil {
7495		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
7496	}
7497	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
7498		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
7499	}
7500	if s.MediaStreamName == nil {
7501		invalidParams.Add(request.NewErrParamRequired("MediaStreamName"))
7502	}
7503	if s.MediaStreamName != nil && len(*s.MediaStreamName) < 1 {
7504		invalidParams.Add(request.NewErrParamMinLen("MediaStreamName", 1))
7505	}
7506
7507	if invalidParams.Len() > 0 {
7508		return invalidParams
7509	}
7510	return nil
7511}
7512
7513// SetFlowArn sets the FlowArn field's value.
7514func (s *RemoveFlowMediaStreamInput) SetFlowArn(v string) *RemoveFlowMediaStreamInput {
7515	s.FlowArn = &v
7516	return s
7517}
7518
7519// SetMediaStreamName sets the MediaStreamName field's value.
7520func (s *RemoveFlowMediaStreamInput) SetMediaStreamName(v string) *RemoveFlowMediaStreamInput {
7521	s.MediaStreamName = &v
7522	return s
7523}
7524
7525// The result of a successful RemoveFlowMediaStream request.
7526type RemoveFlowMediaStreamOutput struct {
7527	_ struct{} `type:"structure"`
7528
7529	// The Amazon Resource Name (ARN) of the flow.
7530	FlowArn *string `locationName:"flowArn" type:"string"`
7531
7532	// The name of the media stream that was removed.
7533	MediaStreamName *string `locationName:"mediaStreamName" type:"string"`
7534}
7535
7536// String returns the string representation
7537func (s RemoveFlowMediaStreamOutput) String() string {
7538	return awsutil.Prettify(s)
7539}
7540
7541// GoString returns the string representation
7542func (s RemoveFlowMediaStreamOutput) GoString() string {
7543	return s.String()
7544}
7545
7546// SetFlowArn sets the FlowArn field's value.
7547func (s *RemoveFlowMediaStreamOutput) SetFlowArn(v string) *RemoveFlowMediaStreamOutput {
7548	s.FlowArn = &v
7549	return s
7550}
7551
7552// SetMediaStreamName sets the MediaStreamName field's value.
7553func (s *RemoveFlowMediaStreamOutput) SetMediaStreamName(v string) *RemoveFlowMediaStreamOutput {
7554	s.MediaStreamName = &v
7555	return s
7556}
7557
7558type RemoveFlowOutputInput struct {
7559	_ struct{} `type:"structure"`
7560
7561	// FlowArn is a required field
7562	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
7563
7564	// OutputArn is a required field
7565	OutputArn *string `location:"uri" locationName:"outputArn" type:"string" required:"true"`
7566}
7567
7568// String returns the string representation
7569func (s RemoveFlowOutputInput) String() string {
7570	return awsutil.Prettify(s)
7571}
7572
7573// GoString returns the string representation
7574func (s RemoveFlowOutputInput) GoString() string {
7575	return s.String()
7576}
7577
7578// Validate inspects the fields of the type to determine if they are valid.
7579func (s *RemoveFlowOutputInput) Validate() error {
7580	invalidParams := request.ErrInvalidParams{Context: "RemoveFlowOutputInput"}
7581	if s.FlowArn == nil {
7582		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
7583	}
7584	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
7585		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
7586	}
7587	if s.OutputArn == nil {
7588		invalidParams.Add(request.NewErrParamRequired("OutputArn"))
7589	}
7590	if s.OutputArn != nil && len(*s.OutputArn) < 1 {
7591		invalidParams.Add(request.NewErrParamMinLen("OutputArn", 1))
7592	}
7593
7594	if invalidParams.Len() > 0 {
7595		return invalidParams
7596	}
7597	return nil
7598}
7599
7600// SetFlowArn sets the FlowArn field's value.
7601func (s *RemoveFlowOutputInput) SetFlowArn(v string) *RemoveFlowOutputInput {
7602	s.FlowArn = &v
7603	return s
7604}
7605
7606// SetOutputArn sets the OutputArn field's value.
7607func (s *RemoveFlowOutputInput) SetOutputArn(v string) *RemoveFlowOutputInput {
7608	s.OutputArn = &v
7609	return s
7610}
7611
7612// The result of a successful RemoveFlowOutput request including the flow ARN
7613// and the output ARN that was removed.
7614type RemoveFlowOutputOutput struct {
7615	_ struct{} `type:"structure"`
7616
7617	// The ARN of the flow that is associated with the output you removed.
7618	FlowArn *string `locationName:"flowArn" type:"string"`
7619
7620	// The ARN of the output that was removed.
7621	OutputArn *string `locationName:"outputArn" type:"string"`
7622}
7623
7624// String returns the string representation
7625func (s RemoveFlowOutputOutput) String() string {
7626	return awsutil.Prettify(s)
7627}
7628
7629// GoString returns the string representation
7630func (s RemoveFlowOutputOutput) GoString() string {
7631	return s.String()
7632}
7633
7634// SetFlowArn sets the FlowArn field's value.
7635func (s *RemoveFlowOutputOutput) SetFlowArn(v string) *RemoveFlowOutputOutput {
7636	s.FlowArn = &v
7637	return s
7638}
7639
7640// SetOutputArn sets the OutputArn field's value.
7641func (s *RemoveFlowOutputOutput) SetOutputArn(v string) *RemoveFlowOutputOutput {
7642	s.OutputArn = &v
7643	return s
7644}
7645
7646type RemoveFlowSourceInput struct {
7647	_ struct{} `type:"structure"`
7648
7649	// FlowArn is a required field
7650	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
7651
7652	// SourceArn is a required field
7653	SourceArn *string `location:"uri" locationName:"sourceArn" type:"string" required:"true"`
7654}
7655
7656// String returns the string representation
7657func (s RemoveFlowSourceInput) String() string {
7658	return awsutil.Prettify(s)
7659}
7660
7661// GoString returns the string representation
7662func (s RemoveFlowSourceInput) GoString() string {
7663	return s.String()
7664}
7665
7666// Validate inspects the fields of the type to determine if they are valid.
7667func (s *RemoveFlowSourceInput) Validate() error {
7668	invalidParams := request.ErrInvalidParams{Context: "RemoveFlowSourceInput"}
7669	if s.FlowArn == nil {
7670		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
7671	}
7672	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
7673		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
7674	}
7675	if s.SourceArn == nil {
7676		invalidParams.Add(request.NewErrParamRequired("SourceArn"))
7677	}
7678	if s.SourceArn != nil && len(*s.SourceArn) < 1 {
7679		invalidParams.Add(request.NewErrParamMinLen("SourceArn", 1))
7680	}
7681
7682	if invalidParams.Len() > 0 {
7683		return invalidParams
7684	}
7685	return nil
7686}
7687
7688// SetFlowArn sets the FlowArn field's value.
7689func (s *RemoveFlowSourceInput) SetFlowArn(v string) *RemoveFlowSourceInput {
7690	s.FlowArn = &v
7691	return s
7692}
7693
7694// SetSourceArn sets the SourceArn field's value.
7695func (s *RemoveFlowSourceInput) SetSourceArn(v string) *RemoveFlowSourceInput {
7696	s.SourceArn = &v
7697	return s
7698}
7699
7700// The result of a successful RemoveFlowSource request including the flow ARN
7701// and the source ARN that was removed.
7702type RemoveFlowSourceOutput struct {
7703	_ struct{} `type:"structure"`
7704
7705	// The ARN of the flow that is associated with the source you removed.
7706	FlowArn *string `locationName:"flowArn" type:"string"`
7707
7708	// The ARN of the source that was removed.
7709	SourceArn *string `locationName:"sourceArn" type:"string"`
7710}
7711
7712// String returns the string representation
7713func (s RemoveFlowSourceOutput) String() string {
7714	return awsutil.Prettify(s)
7715}
7716
7717// GoString returns the string representation
7718func (s RemoveFlowSourceOutput) GoString() string {
7719	return s.String()
7720}
7721
7722// SetFlowArn sets the FlowArn field's value.
7723func (s *RemoveFlowSourceOutput) SetFlowArn(v string) *RemoveFlowSourceOutput {
7724	s.FlowArn = &v
7725	return s
7726}
7727
7728// SetSourceArn sets the SourceArn field's value.
7729func (s *RemoveFlowSourceOutput) SetSourceArn(v string) *RemoveFlowSourceOutput {
7730	s.SourceArn = &v
7731	return s
7732}
7733
7734type RemoveFlowVpcInterfaceInput struct {
7735	_ struct{} `type:"structure"`
7736
7737	// FlowArn is a required field
7738	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
7739
7740	// VpcInterfaceName is a required field
7741	VpcInterfaceName *string `location:"uri" locationName:"vpcInterfaceName" type:"string" required:"true"`
7742}
7743
7744// String returns the string representation
7745func (s RemoveFlowVpcInterfaceInput) String() string {
7746	return awsutil.Prettify(s)
7747}
7748
7749// GoString returns the string representation
7750func (s RemoveFlowVpcInterfaceInput) GoString() string {
7751	return s.String()
7752}
7753
7754// Validate inspects the fields of the type to determine if they are valid.
7755func (s *RemoveFlowVpcInterfaceInput) Validate() error {
7756	invalidParams := request.ErrInvalidParams{Context: "RemoveFlowVpcInterfaceInput"}
7757	if s.FlowArn == nil {
7758		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
7759	}
7760	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
7761		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
7762	}
7763	if s.VpcInterfaceName == nil {
7764		invalidParams.Add(request.NewErrParamRequired("VpcInterfaceName"))
7765	}
7766	if s.VpcInterfaceName != nil && len(*s.VpcInterfaceName) < 1 {
7767		invalidParams.Add(request.NewErrParamMinLen("VpcInterfaceName", 1))
7768	}
7769
7770	if invalidParams.Len() > 0 {
7771		return invalidParams
7772	}
7773	return nil
7774}
7775
7776// SetFlowArn sets the FlowArn field's value.
7777func (s *RemoveFlowVpcInterfaceInput) SetFlowArn(v string) *RemoveFlowVpcInterfaceInput {
7778	s.FlowArn = &v
7779	return s
7780}
7781
7782// SetVpcInterfaceName sets the VpcInterfaceName field's value.
7783func (s *RemoveFlowVpcInterfaceInput) SetVpcInterfaceName(v string) *RemoveFlowVpcInterfaceInput {
7784	s.VpcInterfaceName = &v
7785	return s
7786}
7787
7788// The result of a successful RemoveFlowVpcInterface request including the flow
7789// ARN and the VPC interface name that was removed.
7790type RemoveFlowVpcInterfaceOutput struct {
7791	_ struct{} `type:"structure"`
7792
7793	// The ARN of the flow that is associated with the VPC interface you removed.
7794	FlowArn *string `locationName:"flowArn" type:"string"`
7795
7796	// IDs of network interfaces associated with the removed VPC interface that
7797	// Media Connect was unable to remove.
7798	NonDeletedNetworkInterfaceIds []*string `locationName:"nonDeletedNetworkInterfaceIds" type:"list"`
7799
7800	// The name of the VPC interface that was removed.
7801	VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"`
7802}
7803
7804// String returns the string representation
7805func (s RemoveFlowVpcInterfaceOutput) String() string {
7806	return awsutil.Prettify(s)
7807}
7808
7809// GoString returns the string representation
7810func (s RemoveFlowVpcInterfaceOutput) GoString() string {
7811	return s.String()
7812}
7813
7814// SetFlowArn sets the FlowArn field's value.
7815func (s *RemoveFlowVpcInterfaceOutput) SetFlowArn(v string) *RemoveFlowVpcInterfaceOutput {
7816	s.FlowArn = &v
7817	return s
7818}
7819
7820// SetNonDeletedNetworkInterfaceIds sets the NonDeletedNetworkInterfaceIds field's value.
7821func (s *RemoveFlowVpcInterfaceOutput) SetNonDeletedNetworkInterfaceIds(v []*string) *RemoveFlowVpcInterfaceOutput {
7822	s.NonDeletedNetworkInterfaceIds = v
7823	return s
7824}
7825
7826// SetVpcInterfaceName sets the VpcInterfaceName field's value.
7827func (s *RemoveFlowVpcInterfaceOutput) SetVpcInterfaceName(v string) *RemoveFlowVpcInterfaceOutput {
7828	s.VpcInterfaceName = &v
7829	return s
7830}
7831
7832// A pricing agreement for a discounted rate for a specific outbound bandwidth
7833// that your MediaConnect account will use each month over a specific time period.
7834// The discounted rate in the reservation applies to outbound bandwidth for
7835// all flows from your account until your account reaches the amount of bandwidth
7836// in your reservation. If you use more outbound bandwidth than the agreed upon
7837// amount in a single month, the overage is charged at the on-demand rate.
7838type Reservation struct {
7839	_ struct{} `type:"structure"`
7840
7841	// The type of currency that is used for billing. The currencyCode used for
7842	// your reservation is US dollars.
7843	//
7844	// CurrencyCode is a required field
7845	CurrencyCode *string `locationName:"currencyCode" type:"string" required:"true"`
7846
7847	// The length of time that this reservation is active. MediaConnect defines
7848	// this value in the offering.
7849	//
7850	// Duration is a required field
7851	Duration *int64 `locationName:"duration" type:"integer" required:"true"`
7852
7853	// The unit of measurement for the duration of the reservation. MediaConnect
7854	// defines this value in the offering.
7855	//
7856	// DurationUnits is a required field
7857	DurationUnits *string `locationName:"durationUnits" type:"string" required:"true" enum:"DurationUnits"`
7858
7859	// The day and time that this reservation expires. This value is calculated
7860	// based on the start date and time that you set and the offering's duration.
7861	//
7862	// End is a required field
7863	End *string `locationName:"end" type:"string" required:"true"`
7864
7865	// The Amazon Resource Name (ARN) that MediaConnect assigns to the offering.
7866	//
7867	// OfferingArn is a required field
7868	OfferingArn *string `locationName:"offeringArn" type:"string" required:"true"`
7869
7870	// A description of the offering. MediaConnect defines this value in the offering.
7871	//
7872	// OfferingDescription is a required field
7873	OfferingDescription *string `locationName:"offeringDescription" type:"string" required:"true"`
7874
7875	// The cost of a single unit. This value, in combination with priceUnits, makes
7876	// up the rate. MediaConnect defines this value in the offering.
7877	//
7878	// PricePerUnit is a required field
7879	PricePerUnit *string `locationName:"pricePerUnit" type:"string" required:"true"`
7880
7881	// The unit of measurement that is used for billing. This value, in combination
7882	// with pricePerUnit, makes up the rate. MediaConnect defines this value in
7883	// the offering.
7884	//
7885	// PriceUnits is a required field
7886	PriceUnits *string `locationName:"priceUnits" type:"string" required:"true" enum:"PriceUnits"`
7887
7888	// The Amazon Resource Name (ARN) that MediaConnect assigns to the reservation
7889	// when you purchase an offering.
7890	//
7891	// ReservationArn is a required field
7892	ReservationArn *string `locationName:"reservationArn" type:"string" required:"true"`
7893
7894	// The name that you assigned to the reservation when you purchased the offering.
7895	//
7896	// ReservationName is a required field
7897	ReservationName *string `locationName:"reservationName" type:"string" required:"true"`
7898
7899	// The status of your reservation.
7900	//
7901	// ReservationState is a required field
7902	ReservationState *string `locationName:"reservationState" type:"string" required:"true" enum:"ReservationState"`
7903
7904	// A definition of the amount of outbound bandwidth that you would be reserving
7905	// if you purchase the offering. MediaConnect defines the values that make up
7906	// the resourceSpecification in the offering.
7907	//
7908	// ResourceSpecification is a required field
7909	ResourceSpecification *ResourceSpecification `locationName:"resourceSpecification" type:"structure" required:"true"`
7910
7911	// The day and time that the reservation becomes active. You set this value
7912	// when you purchase the offering.
7913	//
7914	// Start is a required field
7915	Start *string `locationName:"start" type:"string" required:"true"`
7916}
7917
7918// String returns the string representation
7919func (s Reservation) String() string {
7920	return awsutil.Prettify(s)
7921}
7922
7923// GoString returns the string representation
7924func (s Reservation) GoString() string {
7925	return s.String()
7926}
7927
7928// SetCurrencyCode sets the CurrencyCode field's value.
7929func (s *Reservation) SetCurrencyCode(v string) *Reservation {
7930	s.CurrencyCode = &v
7931	return s
7932}
7933
7934// SetDuration sets the Duration field's value.
7935func (s *Reservation) SetDuration(v int64) *Reservation {
7936	s.Duration = &v
7937	return s
7938}
7939
7940// SetDurationUnits sets the DurationUnits field's value.
7941func (s *Reservation) SetDurationUnits(v string) *Reservation {
7942	s.DurationUnits = &v
7943	return s
7944}
7945
7946// SetEnd sets the End field's value.
7947func (s *Reservation) SetEnd(v string) *Reservation {
7948	s.End = &v
7949	return s
7950}
7951
7952// SetOfferingArn sets the OfferingArn field's value.
7953func (s *Reservation) SetOfferingArn(v string) *Reservation {
7954	s.OfferingArn = &v
7955	return s
7956}
7957
7958// SetOfferingDescription sets the OfferingDescription field's value.
7959func (s *Reservation) SetOfferingDescription(v string) *Reservation {
7960	s.OfferingDescription = &v
7961	return s
7962}
7963
7964// SetPricePerUnit sets the PricePerUnit field's value.
7965func (s *Reservation) SetPricePerUnit(v string) *Reservation {
7966	s.PricePerUnit = &v
7967	return s
7968}
7969
7970// SetPriceUnits sets the PriceUnits field's value.
7971func (s *Reservation) SetPriceUnits(v string) *Reservation {
7972	s.PriceUnits = &v
7973	return s
7974}
7975
7976// SetReservationArn sets the ReservationArn field's value.
7977func (s *Reservation) SetReservationArn(v string) *Reservation {
7978	s.ReservationArn = &v
7979	return s
7980}
7981
7982// SetReservationName sets the ReservationName field's value.
7983func (s *Reservation) SetReservationName(v string) *Reservation {
7984	s.ReservationName = &v
7985	return s
7986}
7987
7988// SetReservationState sets the ReservationState field's value.
7989func (s *Reservation) SetReservationState(v string) *Reservation {
7990	s.ReservationState = &v
7991	return s
7992}
7993
7994// SetResourceSpecification sets the ResourceSpecification field's value.
7995func (s *Reservation) SetResourceSpecification(v *ResourceSpecification) *Reservation {
7996	s.ResourceSpecification = v
7997	return s
7998}
7999
8000// SetStart sets the Start field's value.
8001func (s *Reservation) SetStart(v string) *Reservation {
8002	s.Start = &v
8003	return s
8004}
8005
8006// A definition of what is being billed for, including the type and amount.
8007type ResourceSpecification struct {
8008	_ struct{} `type:"structure"`
8009
8010	// The amount of outbound bandwidth that is discounted in the offering.
8011	ReservedBitrate *int64 `locationName:"reservedBitrate" type:"integer"`
8012
8013	// The type of resource and the unit that is being billed for.
8014	//
8015	// ResourceType is a required field
8016	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
8017}
8018
8019// String returns the string representation
8020func (s ResourceSpecification) String() string {
8021	return awsutil.Prettify(s)
8022}
8023
8024// GoString returns the string representation
8025func (s ResourceSpecification) GoString() string {
8026	return s.String()
8027}
8028
8029// SetReservedBitrate sets the ReservedBitrate field's value.
8030func (s *ResourceSpecification) SetReservedBitrate(v int64) *ResourceSpecification {
8031	s.ReservedBitrate = &v
8032	return s
8033}
8034
8035// SetResourceType sets the ResourceType field's value.
8036func (s *ResourceSpecification) SetResourceType(v string) *ResourceSpecification {
8037	s.ResourceType = &v
8038	return s
8039}
8040
8041type RevokeFlowEntitlementInput struct {
8042	_ struct{} `type:"structure"`
8043
8044	// EntitlementArn is a required field
8045	EntitlementArn *string `location:"uri" locationName:"entitlementArn" type:"string" required:"true"`
8046
8047	// FlowArn is a required field
8048	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
8049}
8050
8051// String returns the string representation
8052func (s RevokeFlowEntitlementInput) String() string {
8053	return awsutil.Prettify(s)
8054}
8055
8056// GoString returns the string representation
8057func (s RevokeFlowEntitlementInput) GoString() string {
8058	return s.String()
8059}
8060
8061// Validate inspects the fields of the type to determine if they are valid.
8062func (s *RevokeFlowEntitlementInput) Validate() error {
8063	invalidParams := request.ErrInvalidParams{Context: "RevokeFlowEntitlementInput"}
8064	if s.EntitlementArn == nil {
8065		invalidParams.Add(request.NewErrParamRequired("EntitlementArn"))
8066	}
8067	if s.EntitlementArn != nil && len(*s.EntitlementArn) < 1 {
8068		invalidParams.Add(request.NewErrParamMinLen("EntitlementArn", 1))
8069	}
8070	if s.FlowArn == nil {
8071		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
8072	}
8073	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
8074		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
8075	}
8076
8077	if invalidParams.Len() > 0 {
8078		return invalidParams
8079	}
8080	return nil
8081}
8082
8083// SetEntitlementArn sets the EntitlementArn field's value.
8084func (s *RevokeFlowEntitlementInput) SetEntitlementArn(v string) *RevokeFlowEntitlementInput {
8085	s.EntitlementArn = &v
8086	return s
8087}
8088
8089// SetFlowArn sets the FlowArn field's value.
8090func (s *RevokeFlowEntitlementInput) SetFlowArn(v string) *RevokeFlowEntitlementInput {
8091	s.FlowArn = &v
8092	return s
8093}
8094
8095// The result of a successful RevokeFlowEntitlement request. The response includes
8096// the ARN of the flow that was updated and the ARN of the entitlement that
8097// was revoked.
8098type RevokeFlowEntitlementOutput struct {
8099	_ struct{} `type:"structure"`
8100
8101	// The ARN of the entitlement that was revoked.
8102	EntitlementArn *string `locationName:"entitlementArn" type:"string"`
8103
8104	// The ARN of the flow that the entitlement was revoked from.
8105	FlowArn *string `locationName:"flowArn" type:"string"`
8106}
8107
8108// String returns the string representation
8109func (s RevokeFlowEntitlementOutput) String() string {
8110	return awsutil.Prettify(s)
8111}
8112
8113// GoString returns the string representation
8114func (s RevokeFlowEntitlementOutput) GoString() string {
8115	return s.String()
8116}
8117
8118// SetEntitlementArn sets the EntitlementArn field's value.
8119func (s *RevokeFlowEntitlementOutput) SetEntitlementArn(v string) *RevokeFlowEntitlementOutput {
8120	s.EntitlementArn = &v
8121	return s
8122}
8123
8124// SetFlowArn sets the FlowArn field's value.
8125func (s *RevokeFlowEntitlementOutput) SetFlowArn(v string) *RevokeFlowEntitlementOutput {
8126	s.FlowArn = &v
8127	return s
8128}
8129
8130// Exception raised by AWS Elemental MediaConnect. See the error message and
8131// documentation for the operation for more information on the cause of this
8132// exception.
8133type ServiceUnavailableException struct {
8134	_            struct{}                  `type:"structure"`
8135	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8136
8137	Message_ *string `locationName:"message" type:"string"`
8138}
8139
8140// String returns the string representation
8141func (s ServiceUnavailableException) String() string {
8142	return awsutil.Prettify(s)
8143}
8144
8145// GoString returns the string representation
8146func (s ServiceUnavailableException) GoString() string {
8147	return s.String()
8148}
8149
8150func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
8151	return &ServiceUnavailableException{
8152		RespMetadata: v,
8153	}
8154}
8155
8156// Code returns the exception type name.
8157func (s *ServiceUnavailableException) Code() string {
8158	return "ServiceUnavailableException"
8159}
8160
8161// Message returns the exception's message.
8162func (s *ServiceUnavailableException) Message() string {
8163	if s.Message_ != nil {
8164		return *s.Message_
8165	}
8166	return ""
8167}
8168
8169// OrigErr always returns nil, satisfies awserr.Error interface.
8170func (s *ServiceUnavailableException) OrigErr() error {
8171	return nil
8172}
8173
8174func (s *ServiceUnavailableException) Error() string {
8175	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8176}
8177
8178// Status code returns the HTTP status code for the request's response error.
8179func (s *ServiceUnavailableException) StatusCode() int {
8180	return s.RespMetadata.StatusCode
8181}
8182
8183// RequestID returns the service's response RequestID for request.
8184func (s *ServiceUnavailableException) RequestID() string {
8185	return s.RespMetadata.RequestID
8186}
8187
8188// The settings for the source of the flow.
8189type SetSourceRequest struct {
8190	_ struct{} `type:"structure"`
8191
8192	// The type of encryption that is used on the content ingested from this source.
8193	Decryption *Encryption `locationName:"decryption" type:"structure"`
8194
8195	// A description for the source. This value is not used or seen outside of the
8196	// current AWS Elemental MediaConnect account.
8197	Description *string `locationName:"description" type:"string"`
8198
8199	// The ARN of the entitlement that allows you to subscribe to this flow. The
8200	// entitlement is set by the flow originator, and the ARN is generated as part
8201	// of the originator's flow.
8202	EntitlementArn *string `locationName:"entitlementArn" type:"string"`
8203
8204	// The port that the flow will be listening on for incoming content.
8205	IngestPort *int64 `locationName:"ingestPort" type:"integer"`
8206
8207	// The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
8208	MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"`
8209
8210	// The maximum latency in milliseconds. This parameter applies only to RIST-based
8211	// and Zixi-based streams.
8212	MaxLatency *int64 `locationName:"maxLatency" type:"integer"`
8213
8214	// The size of the buffer (in milliseconds) to use to sync incoming source data.
8215	MaxSyncBuffer *int64 `locationName:"maxSyncBuffer" type:"integer"`
8216
8217	// The media streams that are associated with the source, and the parameters
8218	// for those associations.
8219	MediaStreamSourceConfigurations []*MediaStreamSourceConfigurationRequest `locationName:"mediaStreamSourceConfigurations" type:"list"`
8220
8221	// The minimum latency in milliseconds for SRT-based streams. In streams that
8222	// use the SRT protocol, this value that you set on your MediaConnect source
8223	// or output represents the minimal potential latency of that connection. The
8224	// latency of the stream is set to the highest number between the sender’s
8225	// minimum latency and the receiver’s minimum latency.
8226	MinLatency *int64 `locationName:"minLatency" type:"integer"`
8227
8228	// The name of the source.
8229	Name *string `locationName:"name" type:"string"`
8230
8231	// The protocol that is used by the source.
8232	Protocol *string `locationName:"protocol" type:"string" enum:"Protocol"`
8233
8234	// The stream ID that you want to use for this transport. This parameter applies
8235	// only to Zixi-based streams.
8236	StreamId *string `locationName:"streamId" type:"string"`
8237
8238	// The name of the VPC interface to use for this source.
8239	VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"`
8240
8241	// The range of IP addresses that should be allowed to contribute content to
8242	// your source. These IP addresses should be in the form of a Classless Inter-Domain
8243	// Routing (CIDR) block; for example, 10.0.0.0/16.
8244	WhitelistCidr *string `locationName:"whitelistCidr" type:"string"`
8245}
8246
8247// String returns the string representation
8248func (s SetSourceRequest) String() string {
8249	return awsutil.Prettify(s)
8250}
8251
8252// GoString returns the string representation
8253func (s SetSourceRequest) GoString() string {
8254	return s.String()
8255}
8256
8257// Validate inspects the fields of the type to determine if they are valid.
8258func (s *SetSourceRequest) Validate() error {
8259	invalidParams := request.ErrInvalidParams{Context: "SetSourceRequest"}
8260	if s.Decryption != nil {
8261		if err := s.Decryption.Validate(); err != nil {
8262			invalidParams.AddNested("Decryption", err.(request.ErrInvalidParams))
8263		}
8264	}
8265	if s.MediaStreamSourceConfigurations != nil {
8266		for i, v := range s.MediaStreamSourceConfigurations {
8267			if v == nil {
8268				continue
8269			}
8270			if err := v.Validate(); err != nil {
8271				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaStreamSourceConfigurations", i), err.(request.ErrInvalidParams))
8272			}
8273		}
8274	}
8275
8276	if invalidParams.Len() > 0 {
8277		return invalidParams
8278	}
8279	return nil
8280}
8281
8282// SetDecryption sets the Decryption field's value.
8283func (s *SetSourceRequest) SetDecryption(v *Encryption) *SetSourceRequest {
8284	s.Decryption = v
8285	return s
8286}
8287
8288// SetDescription sets the Description field's value.
8289func (s *SetSourceRequest) SetDescription(v string) *SetSourceRequest {
8290	s.Description = &v
8291	return s
8292}
8293
8294// SetEntitlementArn sets the EntitlementArn field's value.
8295func (s *SetSourceRequest) SetEntitlementArn(v string) *SetSourceRequest {
8296	s.EntitlementArn = &v
8297	return s
8298}
8299
8300// SetIngestPort sets the IngestPort field's value.
8301func (s *SetSourceRequest) SetIngestPort(v int64) *SetSourceRequest {
8302	s.IngestPort = &v
8303	return s
8304}
8305
8306// SetMaxBitrate sets the MaxBitrate field's value.
8307func (s *SetSourceRequest) SetMaxBitrate(v int64) *SetSourceRequest {
8308	s.MaxBitrate = &v
8309	return s
8310}
8311
8312// SetMaxLatency sets the MaxLatency field's value.
8313func (s *SetSourceRequest) SetMaxLatency(v int64) *SetSourceRequest {
8314	s.MaxLatency = &v
8315	return s
8316}
8317
8318// SetMaxSyncBuffer sets the MaxSyncBuffer field's value.
8319func (s *SetSourceRequest) SetMaxSyncBuffer(v int64) *SetSourceRequest {
8320	s.MaxSyncBuffer = &v
8321	return s
8322}
8323
8324// SetMediaStreamSourceConfigurations sets the MediaStreamSourceConfigurations field's value.
8325func (s *SetSourceRequest) SetMediaStreamSourceConfigurations(v []*MediaStreamSourceConfigurationRequest) *SetSourceRequest {
8326	s.MediaStreamSourceConfigurations = v
8327	return s
8328}
8329
8330// SetMinLatency sets the MinLatency field's value.
8331func (s *SetSourceRequest) SetMinLatency(v int64) *SetSourceRequest {
8332	s.MinLatency = &v
8333	return s
8334}
8335
8336// SetName sets the Name field's value.
8337func (s *SetSourceRequest) SetName(v string) *SetSourceRequest {
8338	s.Name = &v
8339	return s
8340}
8341
8342// SetProtocol sets the Protocol field's value.
8343func (s *SetSourceRequest) SetProtocol(v string) *SetSourceRequest {
8344	s.Protocol = &v
8345	return s
8346}
8347
8348// SetStreamId sets the StreamId field's value.
8349func (s *SetSourceRequest) SetStreamId(v string) *SetSourceRequest {
8350	s.StreamId = &v
8351	return s
8352}
8353
8354// SetVpcInterfaceName sets the VpcInterfaceName field's value.
8355func (s *SetSourceRequest) SetVpcInterfaceName(v string) *SetSourceRequest {
8356	s.VpcInterfaceName = &v
8357	return s
8358}
8359
8360// SetWhitelistCidr sets the WhitelistCidr field's value.
8361func (s *SetSourceRequest) SetWhitelistCidr(v string) *SetSourceRequest {
8362	s.WhitelistCidr = &v
8363	return s
8364}
8365
8366// The settings for the source of the flow.
8367type Source struct {
8368	_ struct{} `type:"structure"`
8369
8370	// Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
8371	DataTransferSubscriberFeePercent *int64 `locationName:"dataTransferSubscriberFeePercent" type:"integer"`
8372
8373	// The type of encryption that is used on the content ingested from this source.
8374	Decryption *Encryption `locationName:"decryption" type:"structure"`
8375
8376	// A description for the source. This value is not used or seen outside of the
8377	// current AWS Elemental MediaConnect account.
8378	Description *string `locationName:"description" type:"string"`
8379
8380	// The ARN of the entitlement that allows you to subscribe to content that comes
8381	// from another AWS account. The entitlement is set by the content originator
8382	// and the ARN is generated as part of the originator's flow.
8383	EntitlementArn *string `locationName:"entitlementArn" type:"string"`
8384
8385	// The IP address that the flow will be listening on for incoming content.
8386	IngestIp *string `locationName:"ingestIp" type:"string"`
8387
8388	// The port that the flow will be listening on for incoming content.
8389	IngestPort *int64 `locationName:"ingestPort" type:"integer"`
8390
8391	// The media streams that are associated with the source, and the parameters
8392	// for those associations.
8393	MediaStreamSourceConfigurations []*MediaStreamSourceConfiguration `locationName:"mediaStreamSourceConfigurations" type:"list"`
8394
8395	// The name of the source.
8396	//
8397	// Name is a required field
8398	Name *string `locationName:"name" type:"string" required:"true"`
8399
8400	// The ARN of the source.
8401	//
8402	// SourceArn is a required field
8403	SourceArn *string `locationName:"sourceArn" type:"string" required:"true"`
8404
8405	// Attributes related to the transport stream that are used in the source.
8406	Transport *Transport `locationName:"transport" type:"structure"`
8407
8408	// The name of the VPC interface that is used for this source.
8409	VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"`
8410
8411	// The range of IP addresses that should be allowed to contribute content to
8412	// your source. These IP addresses should be in the form of a Classless Inter-Domain
8413	// Routing (CIDR) block; for example, 10.0.0.0/16.
8414	WhitelistCidr *string `locationName:"whitelistCidr" type:"string"`
8415}
8416
8417// String returns the string representation
8418func (s Source) String() string {
8419	return awsutil.Prettify(s)
8420}
8421
8422// GoString returns the string representation
8423func (s Source) GoString() string {
8424	return s.String()
8425}
8426
8427// SetDataTransferSubscriberFeePercent sets the DataTransferSubscriberFeePercent field's value.
8428func (s *Source) SetDataTransferSubscriberFeePercent(v int64) *Source {
8429	s.DataTransferSubscriberFeePercent = &v
8430	return s
8431}
8432
8433// SetDecryption sets the Decryption field's value.
8434func (s *Source) SetDecryption(v *Encryption) *Source {
8435	s.Decryption = v
8436	return s
8437}
8438
8439// SetDescription sets the Description field's value.
8440func (s *Source) SetDescription(v string) *Source {
8441	s.Description = &v
8442	return s
8443}
8444
8445// SetEntitlementArn sets the EntitlementArn field's value.
8446func (s *Source) SetEntitlementArn(v string) *Source {
8447	s.EntitlementArn = &v
8448	return s
8449}
8450
8451// SetIngestIp sets the IngestIp field's value.
8452func (s *Source) SetIngestIp(v string) *Source {
8453	s.IngestIp = &v
8454	return s
8455}
8456
8457// SetIngestPort sets the IngestPort field's value.
8458func (s *Source) SetIngestPort(v int64) *Source {
8459	s.IngestPort = &v
8460	return s
8461}
8462
8463// SetMediaStreamSourceConfigurations sets the MediaStreamSourceConfigurations field's value.
8464func (s *Source) SetMediaStreamSourceConfigurations(v []*MediaStreamSourceConfiguration) *Source {
8465	s.MediaStreamSourceConfigurations = v
8466	return s
8467}
8468
8469// SetName sets the Name field's value.
8470func (s *Source) SetName(v string) *Source {
8471	s.Name = &v
8472	return s
8473}
8474
8475// SetSourceArn sets the SourceArn field's value.
8476func (s *Source) SetSourceArn(v string) *Source {
8477	s.SourceArn = &v
8478	return s
8479}
8480
8481// SetTransport sets the Transport field's value.
8482func (s *Source) SetTransport(v *Transport) *Source {
8483	s.Transport = v
8484	return s
8485}
8486
8487// SetVpcInterfaceName sets the VpcInterfaceName field's value.
8488func (s *Source) SetVpcInterfaceName(v string) *Source {
8489	s.VpcInterfaceName = &v
8490	return s
8491}
8492
8493// SetWhitelistCidr sets the WhitelistCidr field's value.
8494func (s *Source) SetWhitelistCidr(v string) *Source {
8495	s.WhitelistCidr = &v
8496	return s
8497}
8498
8499// The priority you want to assign to a source. You can have a primary stream
8500// and a backup stream or two equally prioritized streams.
8501type SourcePriority struct {
8502	_ struct{} `type:"structure"`
8503
8504	// The name of the source you choose as the primary source for this flow.
8505	PrimarySource *string `locationName:"primarySource" type:"string"`
8506}
8507
8508// String returns the string representation
8509func (s SourcePriority) String() string {
8510	return awsutil.Prettify(s)
8511}
8512
8513// GoString returns the string representation
8514func (s SourcePriority) GoString() string {
8515	return s.String()
8516}
8517
8518// SetPrimarySource sets the PrimarySource field's value.
8519func (s *SourcePriority) SetPrimarySource(v string) *SourcePriority {
8520	s.PrimarySource = &v
8521	return s
8522}
8523
8524type StartFlowInput struct {
8525	_ struct{} `type:"structure"`
8526
8527	// FlowArn is a required field
8528	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
8529}
8530
8531// String returns the string representation
8532func (s StartFlowInput) String() string {
8533	return awsutil.Prettify(s)
8534}
8535
8536// GoString returns the string representation
8537func (s StartFlowInput) GoString() string {
8538	return s.String()
8539}
8540
8541// Validate inspects the fields of the type to determine if they are valid.
8542func (s *StartFlowInput) Validate() error {
8543	invalidParams := request.ErrInvalidParams{Context: "StartFlowInput"}
8544	if s.FlowArn == nil {
8545		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
8546	}
8547	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
8548		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
8549	}
8550
8551	if invalidParams.Len() > 0 {
8552		return invalidParams
8553	}
8554	return nil
8555}
8556
8557// SetFlowArn sets the FlowArn field's value.
8558func (s *StartFlowInput) SetFlowArn(v string) *StartFlowInput {
8559	s.FlowArn = &v
8560	return s
8561}
8562
8563// The result of a successful StartFlow request.
8564type StartFlowOutput struct {
8565	_ struct{} `type:"structure"`
8566
8567	// The ARN of the flow that you started.
8568	FlowArn *string `locationName:"flowArn" type:"string"`
8569
8570	// The status of the flow when the StartFlow process begins.
8571	Status *string `locationName:"status" type:"string" enum:"Status"`
8572}
8573
8574// String returns the string representation
8575func (s StartFlowOutput) String() string {
8576	return awsutil.Prettify(s)
8577}
8578
8579// GoString returns the string representation
8580func (s StartFlowOutput) GoString() string {
8581	return s.String()
8582}
8583
8584// SetFlowArn sets the FlowArn field's value.
8585func (s *StartFlowOutput) SetFlowArn(v string) *StartFlowOutput {
8586	s.FlowArn = &v
8587	return s
8588}
8589
8590// SetStatus sets the Status field's value.
8591func (s *StartFlowOutput) SetStatus(v string) *StartFlowOutput {
8592	s.Status = &v
8593	return s
8594}
8595
8596type StopFlowInput struct {
8597	_ struct{} `type:"structure"`
8598
8599	// FlowArn is a required field
8600	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
8601}
8602
8603// String returns the string representation
8604func (s StopFlowInput) String() string {
8605	return awsutil.Prettify(s)
8606}
8607
8608// GoString returns the string representation
8609func (s StopFlowInput) GoString() string {
8610	return s.String()
8611}
8612
8613// Validate inspects the fields of the type to determine if they are valid.
8614func (s *StopFlowInput) Validate() error {
8615	invalidParams := request.ErrInvalidParams{Context: "StopFlowInput"}
8616	if s.FlowArn == nil {
8617		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
8618	}
8619	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
8620		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
8621	}
8622
8623	if invalidParams.Len() > 0 {
8624		return invalidParams
8625	}
8626	return nil
8627}
8628
8629// SetFlowArn sets the FlowArn field's value.
8630func (s *StopFlowInput) SetFlowArn(v string) *StopFlowInput {
8631	s.FlowArn = &v
8632	return s
8633}
8634
8635// The result of a successful StopFlow request.
8636type StopFlowOutput struct {
8637	_ struct{} `type:"structure"`
8638
8639	// The ARN of the flow that you stopped.
8640	FlowArn *string `locationName:"flowArn" type:"string"`
8641
8642	// The status of the flow when the StopFlow process begins.
8643	Status *string `locationName:"status" type:"string" enum:"Status"`
8644}
8645
8646// String returns the string representation
8647func (s StopFlowOutput) String() string {
8648	return awsutil.Prettify(s)
8649}
8650
8651// GoString returns the string representation
8652func (s StopFlowOutput) GoString() string {
8653	return s.String()
8654}
8655
8656// SetFlowArn sets the FlowArn field's value.
8657func (s *StopFlowOutput) SetFlowArn(v string) *StopFlowOutput {
8658	s.FlowArn = &v
8659	return s
8660}
8661
8662// SetStatus sets the Status field's value.
8663func (s *StopFlowOutput) SetStatus(v string) *StopFlowOutput {
8664	s.Status = &v
8665	return s
8666}
8667
8668// The tags to add to the resource. Tag keys can have a maximum character length
8669// of 128 characters, and tag values can have a maximum length of 256 characters.
8670type TagResourceInput struct {
8671	_ struct{} `type:"structure"`
8672
8673	// ResourceArn is a required field
8674	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
8675
8676	// A map from tag keys to values. Tag keys can have a maximum character length
8677	// of 128 characters, and tag values can have a maximum length of 256 characters.
8678	//
8679	// Tags is a required field
8680	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
8681}
8682
8683// String returns the string representation
8684func (s TagResourceInput) String() string {
8685	return awsutil.Prettify(s)
8686}
8687
8688// GoString returns the string representation
8689func (s TagResourceInput) GoString() string {
8690	return s.String()
8691}
8692
8693// Validate inspects the fields of the type to determine if they are valid.
8694func (s *TagResourceInput) Validate() error {
8695	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
8696	if s.ResourceArn == nil {
8697		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8698	}
8699	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8700		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8701	}
8702	if s.Tags == nil {
8703		invalidParams.Add(request.NewErrParamRequired("Tags"))
8704	}
8705
8706	if invalidParams.Len() > 0 {
8707		return invalidParams
8708	}
8709	return nil
8710}
8711
8712// SetResourceArn sets the ResourceArn field's value.
8713func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
8714	s.ResourceArn = &v
8715	return s
8716}
8717
8718// SetTags sets the Tags field's value.
8719func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
8720	s.Tags = v
8721	return s
8722}
8723
8724type TagResourceOutput struct {
8725	_ struct{} `type:"structure"`
8726}
8727
8728// String returns the string representation
8729func (s TagResourceOutput) String() string {
8730	return awsutil.Prettify(s)
8731}
8732
8733// GoString returns the string representation
8734func (s TagResourceOutput) GoString() string {
8735	return s.String()
8736}
8737
8738// Exception raised by AWS Elemental MediaConnect. See the error message and
8739// documentation for the operation for more information on the cause of this
8740// exception.
8741type TooManyRequestsException struct {
8742	_            struct{}                  `type:"structure"`
8743	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8744
8745	Message_ *string `locationName:"message" type:"string"`
8746}
8747
8748// String returns the string representation
8749func (s TooManyRequestsException) String() string {
8750	return awsutil.Prettify(s)
8751}
8752
8753// GoString returns the string representation
8754func (s TooManyRequestsException) GoString() string {
8755	return s.String()
8756}
8757
8758func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
8759	return &TooManyRequestsException{
8760		RespMetadata: v,
8761	}
8762}
8763
8764// Code returns the exception type name.
8765func (s *TooManyRequestsException) Code() string {
8766	return "TooManyRequestsException"
8767}
8768
8769// Message returns the exception's message.
8770func (s *TooManyRequestsException) Message() string {
8771	if s.Message_ != nil {
8772		return *s.Message_
8773	}
8774	return ""
8775}
8776
8777// OrigErr always returns nil, satisfies awserr.Error interface.
8778func (s *TooManyRequestsException) OrigErr() error {
8779	return nil
8780}
8781
8782func (s *TooManyRequestsException) Error() string {
8783	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8784}
8785
8786// Status code returns the HTTP status code for the request's response error.
8787func (s *TooManyRequestsException) StatusCode() int {
8788	return s.RespMetadata.StatusCode
8789}
8790
8791// RequestID returns the service's response RequestID for request.
8792func (s *TooManyRequestsException) RequestID() string {
8793	return s.RespMetadata.RequestID
8794}
8795
8796// Attributes related to the transport stream that are used in a source or output.
8797type Transport struct {
8798	_ struct{} `type:"structure"`
8799
8800	// The range of IP addresses that should be allowed to initiate output requests
8801	// to this flow. These IP addresses should be in the form of a Classless Inter-Domain
8802	// Routing (CIDR) block; for example, 10.0.0.0/16.
8803	CidrAllowList []*string `locationName:"cidrAllowList" type:"list"`
8804
8805	// The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
8806	MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"`
8807
8808	// The maximum latency in milliseconds. This parameter applies only to RIST-based
8809	// and Zixi-based streams.
8810	MaxLatency *int64 `locationName:"maxLatency" type:"integer"`
8811
8812	// The size of the buffer (in milliseconds) to use to sync incoming source data.
8813	MaxSyncBuffer *int64 `locationName:"maxSyncBuffer" type:"integer"`
8814
8815	// The minimum latency in milliseconds for SRT-based streams. In streams that
8816	// use the SRT protocol, this value that you set on your MediaConnect source
8817	// or output represents the minimal potential latency of that connection. The
8818	// latency of the stream is set to the highest number between the sender’s
8819	// minimum latency and the receiver’s minimum latency.
8820	MinLatency *int64 `locationName:"minLatency" type:"integer"`
8821
8822	// The protocol that is used by the source or output.
8823	//
8824	// Protocol is a required field
8825	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"Protocol"`
8826
8827	// The remote ID for the Zixi-pull stream.
8828	RemoteId *string `locationName:"remoteId" type:"string"`
8829
8830	// The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
8831	SmoothingLatency *int64 `locationName:"smoothingLatency" type:"integer"`
8832
8833	// The stream ID that you want to use for this transport. This parameter applies
8834	// only to Zixi-based streams.
8835	StreamId *string `locationName:"streamId" type:"string"`
8836}
8837
8838// String returns the string representation
8839func (s Transport) String() string {
8840	return awsutil.Prettify(s)
8841}
8842
8843// GoString returns the string representation
8844func (s Transport) GoString() string {
8845	return s.String()
8846}
8847
8848// SetCidrAllowList sets the CidrAllowList field's value.
8849func (s *Transport) SetCidrAllowList(v []*string) *Transport {
8850	s.CidrAllowList = v
8851	return s
8852}
8853
8854// SetMaxBitrate sets the MaxBitrate field's value.
8855func (s *Transport) SetMaxBitrate(v int64) *Transport {
8856	s.MaxBitrate = &v
8857	return s
8858}
8859
8860// SetMaxLatency sets the MaxLatency field's value.
8861func (s *Transport) SetMaxLatency(v int64) *Transport {
8862	s.MaxLatency = &v
8863	return s
8864}
8865
8866// SetMaxSyncBuffer sets the MaxSyncBuffer field's value.
8867func (s *Transport) SetMaxSyncBuffer(v int64) *Transport {
8868	s.MaxSyncBuffer = &v
8869	return s
8870}
8871
8872// SetMinLatency sets the MinLatency field's value.
8873func (s *Transport) SetMinLatency(v int64) *Transport {
8874	s.MinLatency = &v
8875	return s
8876}
8877
8878// SetProtocol sets the Protocol field's value.
8879func (s *Transport) SetProtocol(v string) *Transport {
8880	s.Protocol = &v
8881	return s
8882}
8883
8884// SetRemoteId sets the RemoteId field's value.
8885func (s *Transport) SetRemoteId(v string) *Transport {
8886	s.RemoteId = &v
8887	return s
8888}
8889
8890// SetSmoothingLatency sets the SmoothingLatency field's value.
8891func (s *Transport) SetSmoothingLatency(v int64) *Transport {
8892	s.SmoothingLatency = &v
8893	return s
8894}
8895
8896// SetStreamId sets the StreamId field's value.
8897func (s *Transport) SetStreamId(v string) *Transport {
8898	s.StreamId = &v
8899	return s
8900}
8901
8902type UntagResourceInput struct {
8903	_ struct{} `type:"structure"`
8904
8905	// ResourceArn is a required field
8906	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
8907
8908	// TagKeys is a required field
8909	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
8910}
8911
8912// String returns the string representation
8913func (s UntagResourceInput) String() string {
8914	return awsutil.Prettify(s)
8915}
8916
8917// GoString returns the string representation
8918func (s UntagResourceInput) GoString() string {
8919	return s.String()
8920}
8921
8922// Validate inspects the fields of the type to determine if they are valid.
8923func (s *UntagResourceInput) Validate() error {
8924	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
8925	if s.ResourceArn == nil {
8926		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8927	}
8928	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8929		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8930	}
8931	if s.TagKeys == nil {
8932		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
8933	}
8934
8935	if invalidParams.Len() > 0 {
8936		return invalidParams
8937	}
8938	return nil
8939}
8940
8941// SetResourceArn sets the ResourceArn field's value.
8942func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
8943	s.ResourceArn = &v
8944	return s
8945}
8946
8947// SetTagKeys sets the TagKeys field's value.
8948func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
8949	s.TagKeys = v
8950	return s
8951}
8952
8953type UntagResourceOutput struct {
8954	_ struct{} `type:"structure"`
8955}
8956
8957// String returns the string representation
8958func (s UntagResourceOutput) String() string {
8959	return awsutil.Prettify(s)
8960}
8961
8962// GoString returns the string representation
8963func (s UntagResourceOutput) GoString() string {
8964	return s.String()
8965}
8966
8967// Information about the encryption of the flow.
8968type UpdateEncryption struct {
8969	_ struct{} `type:"structure"`
8970
8971	// The type of algorithm that is used for the encryption (such as aes128, aes192,
8972	// or aes256).
8973	Algorithm *string `locationName:"algorithm" type:"string" enum:"Algorithm"`
8974
8975	// A 128-bit, 16-byte hex value represented by a 32-character string, to be
8976	// used with the key for encrypting content. This parameter is not valid for
8977	// static key encryption.
8978	ConstantInitializationVector *string `locationName:"constantInitializationVector" type:"string"`
8979
8980	// The value of one of the devices that you configured with your digital rights
8981	// management (DRM) platform key provider. This parameter is required for SPEKE
8982	// encryption and is not valid for static key encryption.
8983	DeviceId *string `locationName:"deviceId" type:"string"`
8984
8985	// The type of key that is used for the encryption. If no keyType is provided,
8986	// the service will use the default setting (static-key).
8987	KeyType *string `locationName:"keyType" type:"string" enum:"KeyType"`
8988
8989	// The AWS Region that the API Gateway proxy endpoint was created in. This parameter
8990	// is required for SPEKE encryption and is not valid for static key encryption.
8991	Region *string `locationName:"region" type:"string"`
8992
8993	// An identifier for the content. The service sends this value to the key server
8994	// to identify the current endpoint. The resource ID is also known as the content
8995	// ID. This parameter is required for SPEKE encryption and is not valid for
8996	// static key encryption.
8997	ResourceId *string `locationName:"resourceId" type:"string"`
8998
8999	// The ARN of the role that you created during setup (when you set up AWS Elemental
9000	// MediaConnect as a trusted entity).
9001	RoleArn *string `locationName:"roleArn" type:"string"`
9002
9003	// The ARN of the secret that you created in AWS Secrets Manager to store the
9004	// encryption key. This parameter is required for static key encryption and
9005	// is not valid for SPEKE encryption.
9006	SecretArn *string `locationName:"secretArn" type:"string"`
9007
9008	// The URL from the API Gateway proxy that you set up to talk to your key server.
9009	// This parameter is required for SPEKE encryption and is not valid for static
9010	// key encryption.
9011	Url *string `locationName:"url" type:"string"`
9012}
9013
9014// String returns the string representation
9015func (s UpdateEncryption) String() string {
9016	return awsutil.Prettify(s)
9017}
9018
9019// GoString returns the string representation
9020func (s UpdateEncryption) GoString() string {
9021	return s.String()
9022}
9023
9024// SetAlgorithm sets the Algorithm field's value.
9025func (s *UpdateEncryption) SetAlgorithm(v string) *UpdateEncryption {
9026	s.Algorithm = &v
9027	return s
9028}
9029
9030// SetConstantInitializationVector sets the ConstantInitializationVector field's value.
9031func (s *UpdateEncryption) SetConstantInitializationVector(v string) *UpdateEncryption {
9032	s.ConstantInitializationVector = &v
9033	return s
9034}
9035
9036// SetDeviceId sets the DeviceId field's value.
9037func (s *UpdateEncryption) SetDeviceId(v string) *UpdateEncryption {
9038	s.DeviceId = &v
9039	return s
9040}
9041
9042// SetKeyType sets the KeyType field's value.
9043func (s *UpdateEncryption) SetKeyType(v string) *UpdateEncryption {
9044	s.KeyType = &v
9045	return s
9046}
9047
9048// SetRegion sets the Region field's value.
9049func (s *UpdateEncryption) SetRegion(v string) *UpdateEncryption {
9050	s.Region = &v
9051	return s
9052}
9053
9054// SetResourceId sets the ResourceId field's value.
9055func (s *UpdateEncryption) SetResourceId(v string) *UpdateEncryption {
9056	s.ResourceId = &v
9057	return s
9058}
9059
9060// SetRoleArn sets the RoleArn field's value.
9061func (s *UpdateEncryption) SetRoleArn(v string) *UpdateEncryption {
9062	s.RoleArn = &v
9063	return s
9064}
9065
9066// SetSecretArn sets the SecretArn field's value.
9067func (s *UpdateEncryption) SetSecretArn(v string) *UpdateEncryption {
9068	s.SecretArn = &v
9069	return s
9070}
9071
9072// SetUrl sets the Url field's value.
9073func (s *UpdateEncryption) SetUrl(v string) *UpdateEncryption {
9074	s.Url = &v
9075	return s
9076}
9077
9078// The settings for source failover
9079type UpdateFailoverConfig struct {
9080	_ struct{} `type:"structure"`
9081
9082	// The type of failover you choose for this flow. MERGE combines the source
9083	// streams into a single stream, allowing graceful recovery from any single-source
9084	// loss. FAILOVER allows switching between different streams.
9085	FailoverMode *string `locationName:"failoverMode" type:"string" enum:"FailoverMode"`
9086
9087	// Recovery window time to look for dash-7 packets
9088	RecoveryWindow *int64 `locationName:"recoveryWindow" type:"integer"`
9089
9090	// The priority you want to assign to a source. You can have a primary stream
9091	// and a backup stream or two equally prioritized streams.
9092	SourcePriority *SourcePriority `locationName:"sourcePriority" type:"structure"`
9093
9094	State *string `locationName:"state" type:"string" enum:"State"`
9095}
9096
9097// String returns the string representation
9098func (s UpdateFailoverConfig) String() string {
9099	return awsutil.Prettify(s)
9100}
9101
9102// GoString returns the string representation
9103func (s UpdateFailoverConfig) GoString() string {
9104	return s.String()
9105}
9106
9107// SetFailoverMode sets the FailoverMode field's value.
9108func (s *UpdateFailoverConfig) SetFailoverMode(v string) *UpdateFailoverConfig {
9109	s.FailoverMode = &v
9110	return s
9111}
9112
9113// SetRecoveryWindow sets the RecoveryWindow field's value.
9114func (s *UpdateFailoverConfig) SetRecoveryWindow(v int64) *UpdateFailoverConfig {
9115	s.RecoveryWindow = &v
9116	return s
9117}
9118
9119// SetSourcePriority sets the SourcePriority field's value.
9120func (s *UpdateFailoverConfig) SetSourcePriority(v *SourcePriority) *UpdateFailoverConfig {
9121	s.SourcePriority = v
9122	return s
9123}
9124
9125// SetState sets the State field's value.
9126func (s *UpdateFailoverConfig) SetState(v string) *UpdateFailoverConfig {
9127	s.State = &v
9128	return s
9129}
9130
9131// The updates that you want to make to a specific entitlement.
9132type UpdateFlowEntitlementInput struct {
9133	_ struct{} `type:"structure"`
9134
9135	// A description of the entitlement. This description appears only on the AWS
9136	// Elemental MediaConnect console and will not be seen by the subscriber or
9137	// end user.
9138	Description *string `locationName:"description" type:"string"`
9139
9140	// The type of encryption that will be used on the output associated with this
9141	// entitlement.
9142	Encryption *UpdateEncryption `locationName:"encryption" type:"structure"`
9143
9144	// EntitlementArn is a required field
9145	EntitlementArn *string `location:"uri" locationName:"entitlementArn" type:"string" required:"true"`
9146
9147	// An indication of whether you want to enable the entitlement to allow access,
9148	// or disable it to stop streaming content to the subscriber’s flow temporarily.
9149	// If you don’t specify the entitlementStatus field in your request, MediaConnect
9150	// leaves the value unchanged.
9151	EntitlementStatus *string `locationName:"entitlementStatus" type:"string" enum:"EntitlementStatus"`
9152
9153	// FlowArn is a required field
9154	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
9155
9156	// The AWS account IDs that you want to share your content with. The receiving
9157	// accounts (subscribers) will be allowed to create their own flow using your
9158	// content as the source.
9159	Subscribers []*string `locationName:"subscribers" type:"list"`
9160}
9161
9162// String returns the string representation
9163func (s UpdateFlowEntitlementInput) String() string {
9164	return awsutil.Prettify(s)
9165}
9166
9167// GoString returns the string representation
9168func (s UpdateFlowEntitlementInput) GoString() string {
9169	return s.String()
9170}
9171
9172// Validate inspects the fields of the type to determine if they are valid.
9173func (s *UpdateFlowEntitlementInput) Validate() error {
9174	invalidParams := request.ErrInvalidParams{Context: "UpdateFlowEntitlementInput"}
9175	if s.EntitlementArn == nil {
9176		invalidParams.Add(request.NewErrParamRequired("EntitlementArn"))
9177	}
9178	if s.EntitlementArn != nil && len(*s.EntitlementArn) < 1 {
9179		invalidParams.Add(request.NewErrParamMinLen("EntitlementArn", 1))
9180	}
9181	if s.FlowArn == nil {
9182		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
9183	}
9184	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
9185		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
9186	}
9187
9188	if invalidParams.Len() > 0 {
9189		return invalidParams
9190	}
9191	return nil
9192}
9193
9194// SetDescription sets the Description field's value.
9195func (s *UpdateFlowEntitlementInput) SetDescription(v string) *UpdateFlowEntitlementInput {
9196	s.Description = &v
9197	return s
9198}
9199
9200// SetEncryption sets the Encryption field's value.
9201func (s *UpdateFlowEntitlementInput) SetEncryption(v *UpdateEncryption) *UpdateFlowEntitlementInput {
9202	s.Encryption = v
9203	return s
9204}
9205
9206// SetEntitlementArn sets the EntitlementArn field's value.
9207func (s *UpdateFlowEntitlementInput) SetEntitlementArn(v string) *UpdateFlowEntitlementInput {
9208	s.EntitlementArn = &v
9209	return s
9210}
9211
9212// SetEntitlementStatus sets the EntitlementStatus field's value.
9213func (s *UpdateFlowEntitlementInput) SetEntitlementStatus(v string) *UpdateFlowEntitlementInput {
9214	s.EntitlementStatus = &v
9215	return s
9216}
9217
9218// SetFlowArn sets the FlowArn field's value.
9219func (s *UpdateFlowEntitlementInput) SetFlowArn(v string) *UpdateFlowEntitlementInput {
9220	s.FlowArn = &v
9221	return s
9222}
9223
9224// SetSubscribers sets the Subscribers field's value.
9225func (s *UpdateFlowEntitlementInput) SetSubscribers(v []*string) *UpdateFlowEntitlementInput {
9226	s.Subscribers = v
9227	return s
9228}
9229
9230// The result of a successful UpdateFlowEntitlement request. The response includes
9231// the ARN of the flow that was updated and the updated entitlement configuration.
9232type UpdateFlowEntitlementOutput struct {
9233	_ struct{} `type:"structure"`
9234
9235	// The new configuration of the entitlement that you updated.
9236	Entitlement *Entitlement `locationName:"entitlement" type:"structure"`
9237
9238	// The ARN of the flow that this entitlement was granted on.
9239	FlowArn *string `locationName:"flowArn" type:"string"`
9240}
9241
9242// String returns the string representation
9243func (s UpdateFlowEntitlementOutput) String() string {
9244	return awsutil.Prettify(s)
9245}
9246
9247// GoString returns the string representation
9248func (s UpdateFlowEntitlementOutput) GoString() string {
9249	return s.String()
9250}
9251
9252// SetEntitlement sets the Entitlement field's value.
9253func (s *UpdateFlowEntitlementOutput) SetEntitlement(v *Entitlement) *UpdateFlowEntitlementOutput {
9254	s.Entitlement = v
9255	return s
9256}
9257
9258// SetFlowArn sets the FlowArn field's value.
9259func (s *UpdateFlowEntitlementOutput) SetFlowArn(v string) *UpdateFlowEntitlementOutput {
9260	s.FlowArn = &v
9261	return s
9262}
9263
9264// Updates an existing flow.
9265type UpdateFlowInput struct {
9266	_ struct{} `type:"structure"`
9267
9268	// FlowArn is a required field
9269	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
9270
9271	// The settings for source failover
9272	SourceFailoverConfig *UpdateFailoverConfig `locationName:"sourceFailoverConfig" type:"structure"`
9273}
9274
9275// String returns the string representation
9276func (s UpdateFlowInput) String() string {
9277	return awsutil.Prettify(s)
9278}
9279
9280// GoString returns the string representation
9281func (s UpdateFlowInput) GoString() string {
9282	return s.String()
9283}
9284
9285// Validate inspects the fields of the type to determine if they are valid.
9286func (s *UpdateFlowInput) Validate() error {
9287	invalidParams := request.ErrInvalidParams{Context: "UpdateFlowInput"}
9288	if s.FlowArn == nil {
9289		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
9290	}
9291	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
9292		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
9293	}
9294
9295	if invalidParams.Len() > 0 {
9296		return invalidParams
9297	}
9298	return nil
9299}
9300
9301// SetFlowArn sets the FlowArn field's value.
9302func (s *UpdateFlowInput) SetFlowArn(v string) *UpdateFlowInput {
9303	s.FlowArn = &v
9304	return s
9305}
9306
9307// SetSourceFailoverConfig sets the SourceFailoverConfig field's value.
9308func (s *UpdateFlowInput) SetSourceFailoverConfig(v *UpdateFailoverConfig) *UpdateFlowInput {
9309	s.SourceFailoverConfig = v
9310	return s
9311}
9312
9313// Update a media stream on a flow.
9314type UpdateFlowMediaStreamInput struct {
9315	_ struct{} `type:"structure"`
9316
9317	// The attributes that you want to assign to the media stream.
9318	Attributes *MediaStreamAttributesRequest `locationName:"attributes" type:"structure"`
9319
9320	// The sample rate (in Hz) for the stream. If the media stream type is video
9321	// or ancillary data, set this value to 90000. If the media stream type is audio,
9322	// set this value to either 48000 or 96000.
9323	ClockRate *int64 `locationName:"clockRate" type:"integer"`
9324
9325	// Description
9326	Description *string `locationName:"description" type:"string"`
9327
9328	// FlowArn is a required field
9329	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
9330
9331	// MediaStreamName is a required field
9332	MediaStreamName *string `location:"uri" locationName:"mediaStreamName" type:"string" required:"true"`
9333
9334	// The type of media stream.
9335	MediaStreamType *string `locationName:"mediaStreamType" type:"string" enum:"MediaStreamType"`
9336
9337	// The resolution of the video.
9338	VideoFormat *string `locationName:"videoFormat" type:"string"`
9339}
9340
9341// String returns the string representation
9342func (s UpdateFlowMediaStreamInput) String() string {
9343	return awsutil.Prettify(s)
9344}
9345
9346// GoString returns the string representation
9347func (s UpdateFlowMediaStreamInput) GoString() string {
9348	return s.String()
9349}
9350
9351// Validate inspects the fields of the type to determine if they are valid.
9352func (s *UpdateFlowMediaStreamInput) Validate() error {
9353	invalidParams := request.ErrInvalidParams{Context: "UpdateFlowMediaStreamInput"}
9354	if s.FlowArn == nil {
9355		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
9356	}
9357	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
9358		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
9359	}
9360	if s.MediaStreamName == nil {
9361		invalidParams.Add(request.NewErrParamRequired("MediaStreamName"))
9362	}
9363	if s.MediaStreamName != nil && len(*s.MediaStreamName) < 1 {
9364		invalidParams.Add(request.NewErrParamMinLen("MediaStreamName", 1))
9365	}
9366
9367	if invalidParams.Len() > 0 {
9368		return invalidParams
9369	}
9370	return nil
9371}
9372
9373// SetAttributes sets the Attributes field's value.
9374func (s *UpdateFlowMediaStreamInput) SetAttributes(v *MediaStreamAttributesRequest) *UpdateFlowMediaStreamInput {
9375	s.Attributes = v
9376	return s
9377}
9378
9379// SetClockRate sets the ClockRate field's value.
9380func (s *UpdateFlowMediaStreamInput) SetClockRate(v int64) *UpdateFlowMediaStreamInput {
9381	s.ClockRate = &v
9382	return s
9383}
9384
9385// SetDescription sets the Description field's value.
9386func (s *UpdateFlowMediaStreamInput) SetDescription(v string) *UpdateFlowMediaStreamInput {
9387	s.Description = &v
9388	return s
9389}
9390
9391// SetFlowArn sets the FlowArn field's value.
9392func (s *UpdateFlowMediaStreamInput) SetFlowArn(v string) *UpdateFlowMediaStreamInput {
9393	s.FlowArn = &v
9394	return s
9395}
9396
9397// SetMediaStreamName sets the MediaStreamName field's value.
9398func (s *UpdateFlowMediaStreamInput) SetMediaStreamName(v string) *UpdateFlowMediaStreamInput {
9399	s.MediaStreamName = &v
9400	return s
9401}
9402
9403// SetMediaStreamType sets the MediaStreamType field's value.
9404func (s *UpdateFlowMediaStreamInput) SetMediaStreamType(v string) *UpdateFlowMediaStreamInput {
9405	s.MediaStreamType = &v
9406	return s
9407}
9408
9409// SetVideoFormat sets the VideoFormat field's value.
9410func (s *UpdateFlowMediaStreamInput) SetVideoFormat(v string) *UpdateFlowMediaStreamInput {
9411	s.VideoFormat = &v
9412	return s
9413}
9414
9415// Update response
9416type UpdateFlowMediaStreamOutput struct {
9417	_ struct{} `type:"structure"`
9418
9419	// The ARN of the flow that is associated with the media stream that you updated.
9420	FlowArn *string `locationName:"flowArn" type:"string"`
9421
9422	// The media stream that you updated.
9423	MediaStream *MediaStream `locationName:"mediaStream" type:"structure"`
9424}
9425
9426// String returns the string representation
9427func (s UpdateFlowMediaStreamOutput) String() string {
9428	return awsutil.Prettify(s)
9429}
9430
9431// GoString returns the string representation
9432func (s UpdateFlowMediaStreamOutput) GoString() string {
9433	return s.String()
9434}
9435
9436// SetFlowArn sets the FlowArn field's value.
9437func (s *UpdateFlowMediaStreamOutput) SetFlowArn(v string) *UpdateFlowMediaStreamOutput {
9438	s.FlowArn = &v
9439	return s
9440}
9441
9442// SetMediaStream sets the MediaStream field's value.
9443func (s *UpdateFlowMediaStreamOutput) SetMediaStream(v *MediaStream) *UpdateFlowMediaStreamOutput {
9444	s.MediaStream = v
9445	return s
9446}
9447
9448// Updates an existing flow.
9449type UpdateFlowOutput struct {
9450	_ struct{} `type:"structure"`
9451
9452	// The settings for a flow, including its source, outputs, and entitlements.
9453	Flow *Flow `locationName:"flow" type:"structure"`
9454}
9455
9456// String returns the string representation
9457func (s UpdateFlowOutput) String() string {
9458	return awsutil.Prettify(s)
9459}
9460
9461// GoString returns the string representation
9462func (s UpdateFlowOutput) GoString() string {
9463	return s.String()
9464}
9465
9466// SetFlow sets the Flow field's value.
9467func (s *UpdateFlowOutput) SetFlow(v *Flow) *UpdateFlowOutput {
9468	s.Flow = v
9469	return s
9470}
9471
9472// The updates that you want to make to an existing output of an existing flow.
9473type UpdateFlowOutputInput struct {
9474	_ struct{} `type:"structure"`
9475
9476	// The range of IP addresses that should be allowed to initiate output requests
9477	// to this flow. These IP addresses should be in the form of a Classless Inter-Domain
9478	// Routing (CIDR) block; for example, 10.0.0.0/16.
9479	CidrAllowList []*string `locationName:"cidrAllowList" type:"list"`
9480
9481	// A description of the output. This description appears only on the AWS Elemental
9482	// MediaConnect console and will not be seen by the end user.
9483	Description *string `locationName:"description" type:"string"`
9484
9485	// The IP address where you want to send the output.
9486	Destination *string `locationName:"destination" type:"string"`
9487
9488	// The type of key used for the encryption. If no keyType is provided, the service
9489	// will use the default setting (static-key).
9490	Encryption *UpdateEncryption `locationName:"encryption" type:"structure"`
9491
9492	// FlowArn is a required field
9493	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
9494
9495	// The maximum latency in milliseconds for Zixi-based streams.
9496	MaxLatency *int64 `locationName:"maxLatency" type:"integer"`
9497
9498	// The media streams that are associated with the output, and the parameters
9499	// for those associations.
9500	MediaStreamOutputConfigurations []*MediaStreamOutputConfigurationRequest `locationName:"mediaStreamOutputConfigurations" type:"list"`
9501
9502	// The minimum latency in milliseconds for SRT-based streams. In streams that
9503	// use the SRT protocol, this value that you set on your MediaConnect source
9504	// or output represents the minimal potential latency of that connection. The
9505	// latency of the stream is set to the highest number between the sender’s
9506	// minimum latency and the receiver’s minimum latency.
9507	MinLatency *int64 `locationName:"minLatency" type:"integer"`
9508
9509	// OutputArn is a required field
9510	OutputArn *string `location:"uri" locationName:"outputArn" type:"string" required:"true"`
9511
9512	// The port to use when content is distributed to this output.
9513	Port *int64 `locationName:"port" type:"integer"`
9514
9515	// The protocol to use for the output.
9516	Protocol *string `locationName:"protocol" type:"string" enum:"Protocol"`
9517
9518	// The remote ID for the Zixi-pull stream.
9519	RemoteId *string `locationName:"remoteId" type:"string"`
9520
9521	// The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
9522	SmoothingLatency *int64 `locationName:"smoothingLatency" type:"integer"`
9523
9524	// The stream ID that you want to use for this transport. This parameter applies
9525	// only to Zixi-based streams.
9526	StreamId *string `locationName:"streamId" type:"string"`
9527
9528	// The name of the VPC interface attachment to use for this output.
9529	VpcInterfaceAttachment *VpcInterfaceAttachment `locationName:"vpcInterfaceAttachment" type:"structure"`
9530}
9531
9532// String returns the string representation
9533func (s UpdateFlowOutputInput) String() string {
9534	return awsutil.Prettify(s)
9535}
9536
9537// GoString returns the string representation
9538func (s UpdateFlowOutputInput) GoString() string {
9539	return s.String()
9540}
9541
9542// Validate inspects the fields of the type to determine if they are valid.
9543func (s *UpdateFlowOutputInput) Validate() error {
9544	invalidParams := request.ErrInvalidParams{Context: "UpdateFlowOutputInput"}
9545	if s.FlowArn == nil {
9546		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
9547	}
9548	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
9549		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
9550	}
9551	if s.OutputArn == nil {
9552		invalidParams.Add(request.NewErrParamRequired("OutputArn"))
9553	}
9554	if s.OutputArn != nil && len(*s.OutputArn) < 1 {
9555		invalidParams.Add(request.NewErrParamMinLen("OutputArn", 1))
9556	}
9557	if s.MediaStreamOutputConfigurations != nil {
9558		for i, v := range s.MediaStreamOutputConfigurations {
9559			if v == nil {
9560				continue
9561			}
9562			if err := v.Validate(); err != nil {
9563				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaStreamOutputConfigurations", i), err.(request.ErrInvalidParams))
9564			}
9565		}
9566	}
9567
9568	if invalidParams.Len() > 0 {
9569		return invalidParams
9570	}
9571	return nil
9572}
9573
9574// SetCidrAllowList sets the CidrAllowList field's value.
9575func (s *UpdateFlowOutputInput) SetCidrAllowList(v []*string) *UpdateFlowOutputInput {
9576	s.CidrAllowList = v
9577	return s
9578}
9579
9580// SetDescription sets the Description field's value.
9581func (s *UpdateFlowOutputInput) SetDescription(v string) *UpdateFlowOutputInput {
9582	s.Description = &v
9583	return s
9584}
9585
9586// SetDestination sets the Destination field's value.
9587func (s *UpdateFlowOutputInput) SetDestination(v string) *UpdateFlowOutputInput {
9588	s.Destination = &v
9589	return s
9590}
9591
9592// SetEncryption sets the Encryption field's value.
9593func (s *UpdateFlowOutputInput) SetEncryption(v *UpdateEncryption) *UpdateFlowOutputInput {
9594	s.Encryption = v
9595	return s
9596}
9597
9598// SetFlowArn sets the FlowArn field's value.
9599func (s *UpdateFlowOutputInput) SetFlowArn(v string) *UpdateFlowOutputInput {
9600	s.FlowArn = &v
9601	return s
9602}
9603
9604// SetMaxLatency sets the MaxLatency field's value.
9605func (s *UpdateFlowOutputInput) SetMaxLatency(v int64) *UpdateFlowOutputInput {
9606	s.MaxLatency = &v
9607	return s
9608}
9609
9610// SetMediaStreamOutputConfigurations sets the MediaStreamOutputConfigurations field's value.
9611func (s *UpdateFlowOutputInput) SetMediaStreamOutputConfigurations(v []*MediaStreamOutputConfigurationRequest) *UpdateFlowOutputInput {
9612	s.MediaStreamOutputConfigurations = v
9613	return s
9614}
9615
9616// SetMinLatency sets the MinLatency field's value.
9617func (s *UpdateFlowOutputInput) SetMinLatency(v int64) *UpdateFlowOutputInput {
9618	s.MinLatency = &v
9619	return s
9620}
9621
9622// SetOutputArn sets the OutputArn field's value.
9623func (s *UpdateFlowOutputInput) SetOutputArn(v string) *UpdateFlowOutputInput {
9624	s.OutputArn = &v
9625	return s
9626}
9627
9628// SetPort sets the Port field's value.
9629func (s *UpdateFlowOutputInput) SetPort(v int64) *UpdateFlowOutputInput {
9630	s.Port = &v
9631	return s
9632}
9633
9634// SetProtocol sets the Protocol field's value.
9635func (s *UpdateFlowOutputInput) SetProtocol(v string) *UpdateFlowOutputInput {
9636	s.Protocol = &v
9637	return s
9638}
9639
9640// SetRemoteId sets the RemoteId field's value.
9641func (s *UpdateFlowOutputInput) SetRemoteId(v string) *UpdateFlowOutputInput {
9642	s.RemoteId = &v
9643	return s
9644}
9645
9646// SetSmoothingLatency sets the SmoothingLatency field's value.
9647func (s *UpdateFlowOutputInput) SetSmoothingLatency(v int64) *UpdateFlowOutputInput {
9648	s.SmoothingLatency = &v
9649	return s
9650}
9651
9652// SetStreamId sets the StreamId field's value.
9653func (s *UpdateFlowOutputInput) SetStreamId(v string) *UpdateFlowOutputInput {
9654	s.StreamId = &v
9655	return s
9656}
9657
9658// SetVpcInterfaceAttachment sets the VpcInterfaceAttachment field's value.
9659func (s *UpdateFlowOutputInput) SetVpcInterfaceAttachment(v *VpcInterfaceAttachment) *UpdateFlowOutputInput {
9660	s.VpcInterfaceAttachment = v
9661	return s
9662}
9663
9664// The result of a successful UpdateFlowOutput request including the flow ARN
9665// and the updated output.
9666type UpdateFlowOutputOutput struct {
9667	_ struct{} `type:"structure"`
9668
9669	// The ARN of the flow that is associated with the updated output.
9670	FlowArn *string `locationName:"flowArn" type:"string"`
9671
9672	// The new settings of the output that you updated.
9673	Output *Output `locationName:"output" type:"structure"`
9674}
9675
9676// String returns the string representation
9677func (s UpdateFlowOutputOutput) String() string {
9678	return awsutil.Prettify(s)
9679}
9680
9681// GoString returns the string representation
9682func (s UpdateFlowOutputOutput) GoString() string {
9683	return s.String()
9684}
9685
9686// SetFlowArn sets the FlowArn field's value.
9687func (s *UpdateFlowOutputOutput) SetFlowArn(v string) *UpdateFlowOutputOutput {
9688	s.FlowArn = &v
9689	return s
9690}
9691
9692// SetOutput sets the Output field's value.
9693func (s *UpdateFlowOutputOutput) SetOutput(v *Output) *UpdateFlowOutputOutput {
9694	s.Output = v
9695	return s
9696}
9697
9698// The updates that you want to make to an existing source of an existing flow.
9699type UpdateFlowSourceInput struct {
9700	_ struct{} `type:"structure"`
9701
9702	// The type of encryption used on the content ingested from this source.
9703	Decryption *UpdateEncryption `locationName:"decryption" type:"structure"`
9704
9705	// A description for the source. This value is not used or seen outside of the
9706	// current AWS Elemental MediaConnect account.
9707	Description *string `locationName:"description" type:"string"`
9708
9709	// The ARN of the entitlement that allows you to subscribe to this flow. The
9710	// entitlement is set by the flow originator, and the ARN is generated as part
9711	// of the originator's flow.
9712	EntitlementArn *string `locationName:"entitlementArn" type:"string"`
9713
9714	// FlowArn is a required field
9715	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
9716
9717	// The port that the flow will be listening on for incoming content.
9718	IngestPort *int64 `locationName:"ingestPort" type:"integer"`
9719
9720	// The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
9721	MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"`
9722
9723	// The maximum latency in milliseconds. This parameter applies only to RIST-based
9724	// and Zixi-based streams.
9725	MaxLatency *int64 `locationName:"maxLatency" type:"integer"`
9726
9727	// The size of the buffer (in milliseconds) to use to sync incoming source data.
9728	MaxSyncBuffer *int64 `locationName:"maxSyncBuffer" type:"integer"`
9729
9730	// The media streams that are associated with the source, and the parameters
9731	// for those associations.
9732	MediaStreamSourceConfigurations []*MediaStreamSourceConfigurationRequest `locationName:"mediaStreamSourceConfigurations" type:"list"`
9733
9734	// The minimum latency in milliseconds for SRT-based streams. In streams that
9735	// use the SRT protocol, this value that you set on your MediaConnect source
9736	// or output represents the minimal potential latency of that connection. The
9737	// latency of the stream is set to the highest number between the sender’s
9738	// minimum latency and the receiver’s minimum latency.
9739	MinLatency *int64 `locationName:"minLatency" type:"integer"`
9740
9741	// The protocol that is used by the source.
9742	Protocol *string `locationName:"protocol" type:"string" enum:"Protocol"`
9743
9744	// SourceArn is a required field
9745	SourceArn *string `location:"uri" locationName:"sourceArn" type:"string" required:"true"`
9746
9747	// The stream ID that you want to use for this transport. This parameter applies
9748	// only to Zixi-based streams.
9749	StreamId *string `locationName:"streamId" type:"string"`
9750
9751	// The name of the VPC interface to use for this source.
9752	VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"`
9753
9754	// The range of IP addresses that should be allowed to contribute content to
9755	// your source. These IP addresses should be in the form of a Classless Inter-Domain
9756	// Routing (CIDR) block; for example, 10.0.0.0/16.
9757	WhitelistCidr *string `locationName:"whitelistCidr" type:"string"`
9758}
9759
9760// String returns the string representation
9761func (s UpdateFlowSourceInput) String() string {
9762	return awsutil.Prettify(s)
9763}
9764
9765// GoString returns the string representation
9766func (s UpdateFlowSourceInput) GoString() string {
9767	return s.String()
9768}
9769
9770// Validate inspects the fields of the type to determine if they are valid.
9771func (s *UpdateFlowSourceInput) Validate() error {
9772	invalidParams := request.ErrInvalidParams{Context: "UpdateFlowSourceInput"}
9773	if s.FlowArn == nil {
9774		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
9775	}
9776	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
9777		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
9778	}
9779	if s.SourceArn == nil {
9780		invalidParams.Add(request.NewErrParamRequired("SourceArn"))
9781	}
9782	if s.SourceArn != nil && len(*s.SourceArn) < 1 {
9783		invalidParams.Add(request.NewErrParamMinLen("SourceArn", 1))
9784	}
9785	if s.MediaStreamSourceConfigurations != nil {
9786		for i, v := range s.MediaStreamSourceConfigurations {
9787			if v == nil {
9788				continue
9789			}
9790			if err := v.Validate(); err != nil {
9791				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaStreamSourceConfigurations", i), err.(request.ErrInvalidParams))
9792			}
9793		}
9794	}
9795
9796	if invalidParams.Len() > 0 {
9797		return invalidParams
9798	}
9799	return nil
9800}
9801
9802// SetDecryption sets the Decryption field's value.
9803func (s *UpdateFlowSourceInput) SetDecryption(v *UpdateEncryption) *UpdateFlowSourceInput {
9804	s.Decryption = v
9805	return s
9806}
9807
9808// SetDescription sets the Description field's value.
9809func (s *UpdateFlowSourceInput) SetDescription(v string) *UpdateFlowSourceInput {
9810	s.Description = &v
9811	return s
9812}
9813
9814// SetEntitlementArn sets the EntitlementArn field's value.
9815func (s *UpdateFlowSourceInput) SetEntitlementArn(v string) *UpdateFlowSourceInput {
9816	s.EntitlementArn = &v
9817	return s
9818}
9819
9820// SetFlowArn sets the FlowArn field's value.
9821func (s *UpdateFlowSourceInput) SetFlowArn(v string) *UpdateFlowSourceInput {
9822	s.FlowArn = &v
9823	return s
9824}
9825
9826// SetIngestPort sets the IngestPort field's value.
9827func (s *UpdateFlowSourceInput) SetIngestPort(v int64) *UpdateFlowSourceInput {
9828	s.IngestPort = &v
9829	return s
9830}
9831
9832// SetMaxBitrate sets the MaxBitrate field's value.
9833func (s *UpdateFlowSourceInput) SetMaxBitrate(v int64) *UpdateFlowSourceInput {
9834	s.MaxBitrate = &v
9835	return s
9836}
9837
9838// SetMaxLatency sets the MaxLatency field's value.
9839func (s *UpdateFlowSourceInput) SetMaxLatency(v int64) *UpdateFlowSourceInput {
9840	s.MaxLatency = &v
9841	return s
9842}
9843
9844// SetMaxSyncBuffer sets the MaxSyncBuffer field's value.
9845func (s *UpdateFlowSourceInput) SetMaxSyncBuffer(v int64) *UpdateFlowSourceInput {
9846	s.MaxSyncBuffer = &v
9847	return s
9848}
9849
9850// SetMediaStreamSourceConfigurations sets the MediaStreamSourceConfigurations field's value.
9851func (s *UpdateFlowSourceInput) SetMediaStreamSourceConfigurations(v []*MediaStreamSourceConfigurationRequest) *UpdateFlowSourceInput {
9852	s.MediaStreamSourceConfigurations = v
9853	return s
9854}
9855
9856// SetMinLatency sets the MinLatency field's value.
9857func (s *UpdateFlowSourceInput) SetMinLatency(v int64) *UpdateFlowSourceInput {
9858	s.MinLatency = &v
9859	return s
9860}
9861
9862// SetProtocol sets the Protocol field's value.
9863func (s *UpdateFlowSourceInput) SetProtocol(v string) *UpdateFlowSourceInput {
9864	s.Protocol = &v
9865	return s
9866}
9867
9868// SetSourceArn sets the SourceArn field's value.
9869func (s *UpdateFlowSourceInput) SetSourceArn(v string) *UpdateFlowSourceInput {
9870	s.SourceArn = &v
9871	return s
9872}
9873
9874// SetStreamId sets the StreamId field's value.
9875func (s *UpdateFlowSourceInput) SetStreamId(v string) *UpdateFlowSourceInput {
9876	s.StreamId = &v
9877	return s
9878}
9879
9880// SetVpcInterfaceName sets the VpcInterfaceName field's value.
9881func (s *UpdateFlowSourceInput) SetVpcInterfaceName(v string) *UpdateFlowSourceInput {
9882	s.VpcInterfaceName = &v
9883	return s
9884}
9885
9886// SetWhitelistCidr sets the WhitelistCidr field's value.
9887func (s *UpdateFlowSourceInput) SetWhitelistCidr(v string) *UpdateFlowSourceInput {
9888	s.WhitelistCidr = &v
9889	return s
9890}
9891
9892// The result of a successful UpdateFlowSource request. The response includes
9893// the ARN of the flow that was updated and the updated source configuration.
9894type UpdateFlowSourceOutput struct {
9895	_ struct{} `type:"structure"`
9896
9897	// The ARN of the flow that you want to update.
9898	FlowArn *string `locationName:"flowArn" type:"string"`
9899
9900	// The settings for the source of the flow.
9901	Source *Source `locationName:"source" type:"structure"`
9902}
9903
9904// String returns the string representation
9905func (s UpdateFlowSourceOutput) String() string {
9906	return awsutil.Prettify(s)
9907}
9908
9909// GoString returns the string representation
9910func (s UpdateFlowSourceOutput) GoString() string {
9911	return s.String()
9912}
9913
9914// SetFlowArn sets the FlowArn field's value.
9915func (s *UpdateFlowSourceOutput) SetFlowArn(v string) *UpdateFlowSourceOutput {
9916	s.FlowArn = &v
9917	return s
9918}
9919
9920// SetSource sets the Source field's value.
9921func (s *UpdateFlowSourceOutput) SetSource(v *Source) *UpdateFlowSourceOutput {
9922	s.Source = v
9923	return s
9924}
9925
9926// The settings for a VPC Source.
9927type VpcInterface struct {
9928	_ struct{} `type:"structure"`
9929
9930	// Immutable and has to be a unique against other VpcInterfaces in this Flow
9931	//
9932	// Name is a required field
9933	Name *string `locationName:"name" type:"string" required:"true"`
9934
9935	// IDs of the network interfaces created in customer's account by MediaConnect.
9936	//
9937	// NetworkInterfaceIds is a required field
9938	NetworkInterfaceIds []*string `locationName:"networkInterfaceIds" type:"list" required:"true"`
9939
9940	// The type of network interface.
9941	//
9942	// NetworkInterfaceType is a required field
9943	NetworkInterfaceType *string `locationName:"networkInterfaceType" type:"string" required:"true" enum:"NetworkInterfaceType"`
9944
9945	// Role Arn MediaConnect can assumes to create ENIs in customer's account
9946	//
9947	// RoleArn is a required field
9948	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
9949
9950	// Security Group IDs to be used on ENI.
9951	//
9952	// SecurityGroupIds is a required field
9953	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list" required:"true"`
9954
9955	// Subnet must be in the AZ of the Flow
9956	//
9957	// SubnetId is a required field
9958	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
9959}
9960
9961// String returns the string representation
9962func (s VpcInterface) String() string {
9963	return awsutil.Prettify(s)
9964}
9965
9966// GoString returns the string representation
9967func (s VpcInterface) GoString() string {
9968	return s.String()
9969}
9970
9971// SetName sets the Name field's value.
9972func (s *VpcInterface) SetName(v string) *VpcInterface {
9973	s.Name = &v
9974	return s
9975}
9976
9977// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
9978func (s *VpcInterface) SetNetworkInterfaceIds(v []*string) *VpcInterface {
9979	s.NetworkInterfaceIds = v
9980	return s
9981}
9982
9983// SetNetworkInterfaceType sets the NetworkInterfaceType field's value.
9984func (s *VpcInterface) SetNetworkInterfaceType(v string) *VpcInterface {
9985	s.NetworkInterfaceType = &v
9986	return s
9987}
9988
9989// SetRoleArn sets the RoleArn field's value.
9990func (s *VpcInterface) SetRoleArn(v string) *VpcInterface {
9991	s.RoleArn = &v
9992	return s
9993}
9994
9995// SetSecurityGroupIds sets the SecurityGroupIds field's value.
9996func (s *VpcInterface) SetSecurityGroupIds(v []*string) *VpcInterface {
9997	s.SecurityGroupIds = v
9998	return s
9999}
10000
10001// SetSubnetId sets the SubnetId field's value.
10002func (s *VpcInterface) SetSubnetId(v string) *VpcInterface {
10003	s.SubnetId = &v
10004	return s
10005}
10006
10007// The settings for attaching a VPC interface to an output.
10008type VpcInterfaceAttachment struct {
10009	_ struct{} `type:"structure"`
10010
10011	// The name of the VPC interface to use for this output.
10012	VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"`
10013}
10014
10015// String returns the string representation
10016func (s VpcInterfaceAttachment) String() string {
10017	return awsutil.Prettify(s)
10018}
10019
10020// GoString returns the string representation
10021func (s VpcInterfaceAttachment) GoString() string {
10022	return s.String()
10023}
10024
10025// SetVpcInterfaceName sets the VpcInterfaceName field's value.
10026func (s *VpcInterfaceAttachment) SetVpcInterfaceName(v string) *VpcInterfaceAttachment {
10027	s.VpcInterfaceName = &v
10028	return s
10029}
10030
10031// Desired VPC Interface for a Flow
10032type VpcInterfaceRequest struct {
10033	_ struct{} `type:"structure"`
10034
10035	// The name of the VPC Interface. This value must be unique within the current
10036	// flow.
10037	//
10038	// Name is a required field
10039	Name *string `locationName:"name" type:"string" required:"true"`
10040
10041	// The type of network interface. If this value is not included in the request,
10042	// MediaConnect uses ENA as the networkInterfaceType.
10043	NetworkInterfaceType *string `locationName:"networkInterfaceType" type:"string" enum:"NetworkInterfaceType"`
10044
10045	// Role Arn MediaConnect can assumes to create ENIs in customer's account
10046	//
10047	// RoleArn is a required field
10048	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
10049
10050	// Security Group IDs to be used on ENI.
10051	//
10052	// SecurityGroupIds is a required field
10053	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list" required:"true"`
10054
10055	// Subnet must be in the AZ of the Flow
10056	//
10057	// SubnetId is a required field
10058	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
10059}
10060
10061// String returns the string representation
10062func (s VpcInterfaceRequest) String() string {
10063	return awsutil.Prettify(s)
10064}
10065
10066// GoString returns the string representation
10067func (s VpcInterfaceRequest) GoString() string {
10068	return s.String()
10069}
10070
10071// Validate inspects the fields of the type to determine if they are valid.
10072func (s *VpcInterfaceRequest) Validate() error {
10073	invalidParams := request.ErrInvalidParams{Context: "VpcInterfaceRequest"}
10074	if s.Name == nil {
10075		invalidParams.Add(request.NewErrParamRequired("Name"))
10076	}
10077	if s.RoleArn == nil {
10078		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
10079	}
10080	if s.SecurityGroupIds == nil {
10081		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
10082	}
10083	if s.SubnetId == nil {
10084		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
10085	}
10086
10087	if invalidParams.Len() > 0 {
10088		return invalidParams
10089	}
10090	return nil
10091}
10092
10093// SetName sets the Name field's value.
10094func (s *VpcInterfaceRequest) SetName(v string) *VpcInterfaceRequest {
10095	s.Name = &v
10096	return s
10097}
10098
10099// SetNetworkInterfaceType sets the NetworkInterfaceType field's value.
10100func (s *VpcInterfaceRequest) SetNetworkInterfaceType(v string) *VpcInterfaceRequest {
10101	s.NetworkInterfaceType = &v
10102	return s
10103}
10104
10105// SetRoleArn sets the RoleArn field's value.
10106func (s *VpcInterfaceRequest) SetRoleArn(v string) *VpcInterfaceRequest {
10107	s.RoleArn = &v
10108	return s
10109}
10110
10111// SetSecurityGroupIds sets the SecurityGroupIds field's value.
10112func (s *VpcInterfaceRequest) SetSecurityGroupIds(v []*string) *VpcInterfaceRequest {
10113	s.SecurityGroupIds = v
10114	return s
10115}
10116
10117// SetSubnetId sets the SubnetId field's value.
10118func (s *VpcInterfaceRequest) SetSubnetId(v string) *VpcInterfaceRequest {
10119	s.SubnetId = &v
10120	return s
10121}
10122
10123const (
10124	// AlgorithmAes128 is a Algorithm enum value
10125	AlgorithmAes128 = "aes128"
10126
10127	// AlgorithmAes192 is a Algorithm enum value
10128	AlgorithmAes192 = "aes192"
10129
10130	// AlgorithmAes256 is a Algorithm enum value
10131	AlgorithmAes256 = "aes256"
10132)
10133
10134// Algorithm_Values returns all elements of the Algorithm enum
10135func Algorithm_Values() []string {
10136	return []string{
10137		AlgorithmAes128,
10138		AlgorithmAes192,
10139		AlgorithmAes256,
10140	}
10141}
10142
10143const (
10144	// ColorimetryBt601 is a Colorimetry enum value
10145	ColorimetryBt601 = "BT601"
10146
10147	// ColorimetryBt709 is a Colorimetry enum value
10148	ColorimetryBt709 = "BT709"
10149
10150	// ColorimetryBt2020 is a Colorimetry enum value
10151	ColorimetryBt2020 = "BT2020"
10152
10153	// ColorimetryBt2100 is a Colorimetry enum value
10154	ColorimetryBt2100 = "BT2100"
10155
10156	// ColorimetrySt20651 is a Colorimetry enum value
10157	ColorimetrySt20651 = "ST2065-1"
10158
10159	// ColorimetrySt20653 is a Colorimetry enum value
10160	ColorimetrySt20653 = "ST2065-3"
10161
10162	// ColorimetryXyz is a Colorimetry enum value
10163	ColorimetryXyz = "XYZ"
10164)
10165
10166// Colorimetry_Values returns all elements of the Colorimetry enum
10167func Colorimetry_Values() []string {
10168	return []string{
10169		ColorimetryBt601,
10170		ColorimetryBt709,
10171		ColorimetryBt2020,
10172		ColorimetryBt2100,
10173		ColorimetrySt20651,
10174		ColorimetrySt20653,
10175		ColorimetryXyz,
10176	}
10177}
10178
10179const (
10180	// DurationUnitsMonths is a DurationUnits enum value
10181	DurationUnitsMonths = "MONTHS"
10182)
10183
10184// DurationUnits_Values returns all elements of the DurationUnits enum
10185func DurationUnits_Values() []string {
10186	return []string{
10187		DurationUnitsMonths,
10188	}
10189}
10190
10191const (
10192	// EncoderProfileMain is a EncoderProfile enum value
10193	EncoderProfileMain = "main"
10194
10195	// EncoderProfileHigh is a EncoderProfile enum value
10196	EncoderProfileHigh = "high"
10197)
10198
10199// EncoderProfile_Values returns all elements of the EncoderProfile enum
10200func EncoderProfile_Values() []string {
10201	return []string{
10202		EncoderProfileMain,
10203		EncoderProfileHigh,
10204	}
10205}
10206
10207const (
10208	// EncodingNameJxsv is a EncodingName enum value
10209	EncodingNameJxsv = "jxsv"
10210
10211	// EncodingNameRaw is a EncodingName enum value
10212	EncodingNameRaw = "raw"
10213
10214	// EncodingNameSmpte291 is a EncodingName enum value
10215	EncodingNameSmpte291 = "smpte291"
10216
10217	// EncodingNamePcm is a EncodingName enum value
10218	EncodingNamePcm = "pcm"
10219)
10220
10221// EncodingName_Values returns all elements of the EncodingName enum
10222func EncodingName_Values() []string {
10223	return []string{
10224		EncodingNameJxsv,
10225		EncodingNameRaw,
10226		EncodingNameSmpte291,
10227		EncodingNamePcm,
10228	}
10229}
10230
10231const (
10232	// EntitlementStatusEnabled is a EntitlementStatus enum value
10233	EntitlementStatusEnabled = "ENABLED"
10234
10235	// EntitlementStatusDisabled is a EntitlementStatus enum value
10236	EntitlementStatusDisabled = "DISABLED"
10237)
10238
10239// EntitlementStatus_Values returns all elements of the EntitlementStatus enum
10240func EntitlementStatus_Values() []string {
10241	return []string{
10242		EntitlementStatusEnabled,
10243		EntitlementStatusDisabled,
10244	}
10245}
10246
10247const (
10248	// FailoverModeMerge is a FailoverMode enum value
10249	FailoverModeMerge = "MERGE"
10250
10251	// FailoverModeFailover is a FailoverMode enum value
10252	FailoverModeFailover = "FAILOVER"
10253)
10254
10255// FailoverMode_Values returns all elements of the FailoverMode enum
10256func FailoverMode_Values() []string {
10257	return []string{
10258		FailoverModeMerge,
10259		FailoverModeFailover,
10260	}
10261}
10262
10263const (
10264	// KeyTypeSpeke is a KeyType enum value
10265	KeyTypeSpeke = "speke"
10266
10267	// KeyTypeStaticKey is a KeyType enum value
10268	KeyTypeStaticKey = "static-key"
10269
10270	// KeyTypeSrtPassword is a KeyType enum value
10271	KeyTypeSrtPassword = "srt-password"
10272)
10273
10274// KeyType_Values returns all elements of the KeyType enum
10275func KeyType_Values() []string {
10276	return []string{
10277		KeyTypeSpeke,
10278		KeyTypeStaticKey,
10279		KeyTypeSrtPassword,
10280	}
10281}
10282
10283const (
10284	// MediaStreamTypeVideo is a MediaStreamType enum value
10285	MediaStreamTypeVideo = "video"
10286
10287	// MediaStreamTypeAudio is a MediaStreamType enum value
10288	MediaStreamTypeAudio = "audio"
10289
10290	// MediaStreamTypeAncillaryData is a MediaStreamType enum value
10291	MediaStreamTypeAncillaryData = "ancillary-data"
10292)
10293
10294// MediaStreamType_Values returns all elements of the MediaStreamType enum
10295func MediaStreamType_Values() []string {
10296	return []string{
10297		MediaStreamTypeVideo,
10298		MediaStreamTypeAudio,
10299		MediaStreamTypeAncillaryData,
10300	}
10301}
10302
10303const (
10304	// NetworkInterfaceTypeEna is a NetworkInterfaceType enum value
10305	NetworkInterfaceTypeEna = "ena"
10306
10307	// NetworkInterfaceTypeEfa is a NetworkInterfaceType enum value
10308	NetworkInterfaceTypeEfa = "efa"
10309)
10310
10311// NetworkInterfaceType_Values returns all elements of the NetworkInterfaceType enum
10312func NetworkInterfaceType_Values() []string {
10313	return []string{
10314		NetworkInterfaceTypeEna,
10315		NetworkInterfaceTypeEfa,
10316	}
10317}
10318
10319const (
10320	// PriceUnitsHourly is a PriceUnits enum value
10321	PriceUnitsHourly = "HOURLY"
10322)
10323
10324// PriceUnits_Values returns all elements of the PriceUnits enum
10325func PriceUnits_Values() []string {
10326	return []string{
10327		PriceUnitsHourly,
10328	}
10329}
10330
10331const (
10332	// ProtocolZixiPush is a Protocol enum value
10333	ProtocolZixiPush = "zixi-push"
10334
10335	// ProtocolRtpFec is a Protocol enum value
10336	ProtocolRtpFec = "rtp-fec"
10337
10338	// ProtocolRtp is a Protocol enum value
10339	ProtocolRtp = "rtp"
10340
10341	// ProtocolZixiPull is a Protocol enum value
10342	ProtocolZixiPull = "zixi-pull"
10343
10344	// ProtocolRist is a Protocol enum value
10345	ProtocolRist = "rist"
10346
10347	// ProtocolSt2110Jpegxs is a Protocol enum value
10348	ProtocolSt2110Jpegxs = "st2110-jpegxs"
10349
10350	// ProtocolCdi is a Protocol enum value
10351	ProtocolCdi = "cdi"
10352
10353	// ProtocolSrtListener is a Protocol enum value
10354	ProtocolSrtListener = "srt-listener"
10355)
10356
10357// Protocol_Values returns all elements of the Protocol enum
10358func Protocol_Values() []string {
10359	return []string{
10360		ProtocolZixiPush,
10361		ProtocolRtpFec,
10362		ProtocolRtp,
10363		ProtocolZixiPull,
10364		ProtocolRist,
10365		ProtocolSt2110Jpegxs,
10366		ProtocolCdi,
10367		ProtocolSrtListener,
10368	}
10369}
10370
10371const (
10372	// RangeNarrow is a Range enum value
10373	RangeNarrow = "NARROW"
10374
10375	// RangeFull is a Range enum value
10376	RangeFull = "FULL"
10377
10378	// RangeFullprotect is a Range enum value
10379	RangeFullprotect = "FULLPROTECT"
10380)
10381
10382// Range_Values returns all elements of the Range enum
10383func Range_Values() []string {
10384	return []string{
10385		RangeNarrow,
10386		RangeFull,
10387		RangeFullprotect,
10388	}
10389}
10390
10391const (
10392	// ReservationStateActive is a ReservationState enum value
10393	ReservationStateActive = "ACTIVE"
10394
10395	// ReservationStateExpired is a ReservationState enum value
10396	ReservationStateExpired = "EXPIRED"
10397
10398	// ReservationStateProcessing is a ReservationState enum value
10399	ReservationStateProcessing = "PROCESSING"
10400
10401	// ReservationStateCanceled is a ReservationState enum value
10402	ReservationStateCanceled = "CANCELED"
10403)
10404
10405// ReservationState_Values returns all elements of the ReservationState enum
10406func ReservationState_Values() []string {
10407	return []string{
10408		ReservationStateActive,
10409		ReservationStateExpired,
10410		ReservationStateProcessing,
10411		ReservationStateCanceled,
10412	}
10413}
10414
10415const (
10416	// ResourceTypeMbpsOutboundBandwidth is a ResourceType enum value
10417	ResourceTypeMbpsOutboundBandwidth = "Mbps_Outbound_Bandwidth"
10418)
10419
10420// ResourceType_Values returns all elements of the ResourceType enum
10421func ResourceType_Values() []string {
10422	return []string{
10423		ResourceTypeMbpsOutboundBandwidth,
10424	}
10425}
10426
10427const (
10428	// ScanModeProgressive is a ScanMode enum value
10429	ScanModeProgressive = "progressive"
10430
10431	// ScanModeInterlace is a ScanMode enum value
10432	ScanModeInterlace = "interlace"
10433
10434	// ScanModeProgressiveSegmentedFrame is a ScanMode enum value
10435	ScanModeProgressiveSegmentedFrame = "progressive-segmented-frame"
10436)
10437
10438// ScanMode_Values returns all elements of the ScanMode enum
10439func ScanMode_Values() []string {
10440	return []string{
10441		ScanModeProgressive,
10442		ScanModeInterlace,
10443		ScanModeProgressiveSegmentedFrame,
10444	}
10445}
10446
10447const (
10448	// SourceTypeOwned is a SourceType enum value
10449	SourceTypeOwned = "OWNED"
10450
10451	// SourceTypeEntitled is a SourceType enum value
10452	SourceTypeEntitled = "ENTITLED"
10453)
10454
10455// SourceType_Values returns all elements of the SourceType enum
10456func SourceType_Values() []string {
10457	return []string{
10458		SourceTypeOwned,
10459		SourceTypeEntitled,
10460	}
10461}
10462
10463const (
10464	// StateEnabled is a State enum value
10465	StateEnabled = "ENABLED"
10466
10467	// StateDisabled is a State enum value
10468	StateDisabled = "DISABLED"
10469)
10470
10471// State_Values returns all elements of the State enum
10472func State_Values() []string {
10473	return []string{
10474		StateEnabled,
10475		StateDisabled,
10476	}
10477}
10478
10479const (
10480	// StatusStandby is a Status enum value
10481	StatusStandby = "STANDBY"
10482
10483	// StatusActive is a Status enum value
10484	StatusActive = "ACTIVE"
10485
10486	// StatusUpdating is a Status enum value
10487	StatusUpdating = "UPDATING"
10488
10489	// StatusDeleting is a Status enum value
10490	StatusDeleting = "DELETING"
10491
10492	// StatusStarting is a Status enum value
10493	StatusStarting = "STARTING"
10494
10495	// StatusStopping is a Status enum value
10496	StatusStopping = "STOPPING"
10497
10498	// StatusError is a Status enum value
10499	StatusError = "ERROR"
10500)
10501
10502// Status_Values returns all elements of the Status enum
10503func Status_Values() []string {
10504	return []string{
10505		StatusStandby,
10506		StatusActive,
10507		StatusUpdating,
10508		StatusDeleting,
10509		StatusStarting,
10510		StatusStopping,
10511		StatusError,
10512	}
10513}
10514
10515const (
10516	// TcsSdr is a Tcs enum value
10517	TcsSdr = "SDR"
10518
10519	// TcsPq is a Tcs enum value
10520	TcsPq = "PQ"
10521
10522	// TcsHlg is a Tcs enum value
10523	TcsHlg = "HLG"
10524
10525	// TcsLinear is a Tcs enum value
10526	TcsLinear = "LINEAR"
10527
10528	// TcsBt2100linpq is a Tcs enum value
10529	TcsBt2100linpq = "BT2100LINPQ"
10530
10531	// TcsBt2100linhlg is a Tcs enum value
10532	TcsBt2100linhlg = "BT2100LINHLG"
10533
10534	// TcsSt20651 is a Tcs enum value
10535	TcsSt20651 = "ST2065-1"
10536
10537	// TcsSt4281 is a Tcs enum value
10538	TcsSt4281 = "ST428-1"
10539
10540	// TcsDensity is a Tcs enum value
10541	TcsDensity = "DENSITY"
10542)
10543
10544// Tcs_Values returns all elements of the Tcs enum
10545func Tcs_Values() []string {
10546	return []string{
10547		TcsSdr,
10548		TcsPq,
10549		TcsHlg,
10550		TcsLinear,
10551		TcsBt2100linpq,
10552		TcsBt2100linhlg,
10553		TcsSt20651,
10554		TcsSt4281,
10555		TcsDensity,
10556	}
10557}
10558