github.com/aavshr/aws-sdk-go@v1.41.3/service/mediaconnect/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package mediaconnect
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    13  )
    14  
    15  const 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
    41  func (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
   102  func (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.
   116  func (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  
   123  const 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
   149  func (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
   213  func (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.
   227  func (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  
   234  const 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
   260  func (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
   319  func (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.
   333  func (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  
   340  const 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
   366  func (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
   425  func (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.
   439  func (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  
   446  const 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
   472  func (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
   532  func (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.
   546  func (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  
   553  const 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
   579  func (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
   638  func (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.
   652  func (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  
   659  const 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
   685  func (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
   746  func (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.
   760  func (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  
   767  const 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
   793  func (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
   848  func (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.
   862  func (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  
   869  const 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
   895  func (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
   951  func (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.
   965  func (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  
   972  const 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
   998  func (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
  1062  func (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.
  1076  func (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  
  1083  const 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
  1109  func (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
  1165  func (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.
  1179  func (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  //
  1203  func (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.
  1214  func (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  
  1238  const 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
  1264  func (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
  1320  func (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.
  1334  func (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  //
  1358  func (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.
  1369  func (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  
  1393  const 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
  1419  func (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
  1477  func (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.
  1491  func (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  //
  1515  func (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.
  1526  func (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  
  1550  const 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
  1576  func (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
  1633  func (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.
  1647  func (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  //
  1671  func (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.
  1682  func (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  
  1706  const 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
  1732  func (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
  1776  func (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.
  1790  func (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  
  1797  const 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
  1823  func (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
  1883  func (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.
  1897  func (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  
  1904  const 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
  1930  func (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
  1990  func (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.
  2004  func (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  
  2011  const 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
  2037  func (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
  2100  func (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.
  2114  func (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  
  2121  const 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
  2147  func (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
  2207  func (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.
  2221  func (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  
  2228  const 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
  2254  func (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
  2316  func (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.
  2330  func (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  
  2337  const 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
  2363  func (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
  2423  func (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.
  2437  func (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  
  2444  const 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
  2470  func (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
  2529  func (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.
  2543  func (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  
  2550  const 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
  2576  func (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
  2635  func (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.
  2649  func (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  
  2656  const 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
  2682  func (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
  2730  func (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.
  2744  func (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  
  2751  const 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
  2777  func (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
  2822  func (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.
  2836  func (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  
  2843  const 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
  2869  func (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
  2928  func (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.
  2942  func (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  
  2949  const 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
  2975  func (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
  3036  func (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.
  3050  func (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  
  3057  const 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
  3083  func (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
  3142  func (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.
  3156  func (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  
  3163  const 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
  3189  func (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
  3248  func (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.
  3262  func (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  
  3269  const 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
  3295  func (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
  3354  func (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.
  3368  func (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.
  3376  type 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.
  3389  //
  3390  // API parameter values that are decorated as "sensitive" in the API will not
  3391  // be included in the string output. The member name will be present, but the
  3392  // value will be replaced with "sensitive".
  3393  func (s AddFlowMediaStreamsInput) String() string {
  3394  	return awsutil.Prettify(s)
  3395  }
  3396  
  3397  // GoString returns the string representation.
  3398  //
  3399  // API parameter values that are decorated as "sensitive" in the API will not
  3400  // be included in the string output. The member name will be present, but the
  3401  // value will be replaced with "sensitive".
  3402  func (s AddFlowMediaStreamsInput) GoString() string {
  3403  	return s.String()
  3404  }
  3405  
  3406  // Validate inspects the fields of the type to determine if they are valid.
  3407  func (s *AddFlowMediaStreamsInput) Validate() error {
  3408  	invalidParams := request.ErrInvalidParams{Context: "AddFlowMediaStreamsInput"}
  3409  	if s.FlowArn == nil {
  3410  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  3411  	}
  3412  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  3413  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  3414  	}
  3415  	if s.MediaStreams == nil {
  3416  		invalidParams.Add(request.NewErrParamRequired("MediaStreams"))
  3417  	}
  3418  	if s.MediaStreams != nil {
  3419  		for i, v := range s.MediaStreams {
  3420  			if v == nil {
  3421  				continue
  3422  			}
  3423  			if err := v.Validate(); err != nil {
  3424  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaStreams", i), err.(request.ErrInvalidParams))
  3425  			}
  3426  		}
  3427  	}
  3428  
  3429  	if invalidParams.Len() > 0 {
  3430  		return invalidParams
  3431  	}
  3432  	return nil
  3433  }
  3434  
  3435  // SetFlowArn sets the FlowArn field's value.
  3436  func (s *AddFlowMediaStreamsInput) SetFlowArn(v string) *AddFlowMediaStreamsInput {
  3437  	s.FlowArn = &v
  3438  	return s
  3439  }
  3440  
  3441  // SetMediaStreams sets the MediaStreams field's value.
  3442  func (s *AddFlowMediaStreamsInput) SetMediaStreams(v []*AddMediaStreamRequest) *AddFlowMediaStreamsInput {
  3443  	s.MediaStreams = v
  3444  	return s
  3445  }
  3446  
  3447  // The result of a successful AddFlowMediaStreamsRequest request. The response
  3448  // includes the details of the newly added media streams.
  3449  type AddFlowMediaStreamsOutput struct {
  3450  	_ struct{} `type:"structure"`
  3451  
  3452  	// The ARN of the flow that you added media streams to.
  3453  	FlowArn *string `locationName:"flowArn" type:"string"`
  3454  
  3455  	// The media streams that you added to the flow.
  3456  	MediaStreams []*MediaStream `locationName:"mediaStreams" type:"list"`
  3457  }
  3458  
  3459  // String returns the string representation.
  3460  //
  3461  // API parameter values that are decorated as "sensitive" in the API will not
  3462  // be included in the string output. The member name will be present, but the
  3463  // value will be replaced with "sensitive".
  3464  func (s AddFlowMediaStreamsOutput) String() string {
  3465  	return awsutil.Prettify(s)
  3466  }
  3467  
  3468  // GoString returns the string representation.
  3469  //
  3470  // API parameter values that are decorated as "sensitive" in the API will not
  3471  // be included in the string output. The member name will be present, but the
  3472  // value will be replaced with "sensitive".
  3473  func (s AddFlowMediaStreamsOutput) GoString() string {
  3474  	return s.String()
  3475  }
  3476  
  3477  // SetFlowArn sets the FlowArn field's value.
  3478  func (s *AddFlowMediaStreamsOutput) SetFlowArn(v string) *AddFlowMediaStreamsOutput {
  3479  	s.FlowArn = &v
  3480  	return s
  3481  }
  3482  
  3483  // SetMediaStreams sets the MediaStreams field's value.
  3484  func (s *AddFlowMediaStreamsOutput) SetMediaStreams(v []*MediaStream) *AddFlowMediaStreamsOutput {
  3485  	s.MediaStreams = v
  3486  	return s
  3487  }
  3488  
  3489  // Exception raised by AWS Elemental MediaConnect. See the error message and
  3490  // documentation for the operation for more information on the cause of this
  3491  // exception.
  3492  type AddFlowOutputs420Exception struct {
  3493  	_            struct{}                  `type:"structure"`
  3494  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3495  
  3496  	Message_ *string `locationName:"message" type:"string"`
  3497  }
  3498  
  3499  // String returns the string representation.
  3500  //
  3501  // API parameter values that are decorated as "sensitive" in the API will not
  3502  // be included in the string output. The member name will be present, but the
  3503  // value will be replaced with "sensitive".
  3504  func (s AddFlowOutputs420Exception) String() string {
  3505  	return awsutil.Prettify(s)
  3506  }
  3507  
  3508  // GoString returns the string representation.
  3509  //
  3510  // API parameter values that are decorated as "sensitive" in the API will not
  3511  // be included in the string output. The member name will be present, but the
  3512  // value will be replaced with "sensitive".
  3513  func (s AddFlowOutputs420Exception) GoString() string {
  3514  	return s.String()
  3515  }
  3516  
  3517  func newErrorAddFlowOutputs420Exception(v protocol.ResponseMetadata) error {
  3518  	return &AddFlowOutputs420Exception{
  3519  		RespMetadata: v,
  3520  	}
  3521  }
  3522  
  3523  // Code returns the exception type name.
  3524  func (s *AddFlowOutputs420Exception) Code() string {
  3525  	return "AddFlowOutputs420Exception"
  3526  }
  3527  
  3528  // Message returns the exception's message.
  3529  func (s *AddFlowOutputs420Exception) Message() string {
  3530  	if s.Message_ != nil {
  3531  		return *s.Message_
  3532  	}
  3533  	return ""
  3534  }
  3535  
  3536  // OrigErr always returns nil, satisfies awserr.Error interface.
  3537  func (s *AddFlowOutputs420Exception) OrigErr() error {
  3538  	return nil
  3539  }
  3540  
  3541  func (s *AddFlowOutputs420Exception) Error() string {
  3542  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3543  }
  3544  
  3545  // Status code returns the HTTP status code for the request's response error.
  3546  func (s *AddFlowOutputs420Exception) StatusCode() int {
  3547  	return s.RespMetadata.StatusCode
  3548  }
  3549  
  3550  // RequestID returns the service's response RequestID for request.
  3551  func (s *AddFlowOutputs420Exception) RequestID() string {
  3552  	return s.RespMetadata.RequestID
  3553  }
  3554  
  3555  // Adds outputs to an existing flow. You can create up to 50 outputs per flow.
  3556  type AddFlowOutputsInput struct {
  3557  	_ struct{} `type:"structure"`
  3558  
  3559  	// FlowArn is a required field
  3560  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  3561  
  3562  	// A list of outputs that you want to add.
  3563  	//
  3564  	// Outputs is a required field
  3565  	Outputs []*AddOutputRequest `locationName:"outputs" type:"list" required:"true"`
  3566  }
  3567  
  3568  // String returns the string representation.
  3569  //
  3570  // API parameter values that are decorated as "sensitive" in the API will not
  3571  // be included in the string output. The member name will be present, but the
  3572  // value will be replaced with "sensitive".
  3573  func (s AddFlowOutputsInput) String() string {
  3574  	return awsutil.Prettify(s)
  3575  }
  3576  
  3577  // GoString returns the string representation.
  3578  //
  3579  // API parameter values that are decorated as "sensitive" in the API will not
  3580  // be included in the string output. The member name will be present, but the
  3581  // value will be replaced with "sensitive".
  3582  func (s AddFlowOutputsInput) GoString() string {
  3583  	return s.String()
  3584  }
  3585  
  3586  // Validate inspects the fields of the type to determine if they are valid.
  3587  func (s *AddFlowOutputsInput) Validate() error {
  3588  	invalidParams := request.ErrInvalidParams{Context: "AddFlowOutputsInput"}
  3589  	if s.FlowArn == nil {
  3590  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  3591  	}
  3592  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  3593  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  3594  	}
  3595  	if s.Outputs == nil {
  3596  		invalidParams.Add(request.NewErrParamRequired("Outputs"))
  3597  	}
  3598  	if s.Outputs != nil {
  3599  		for i, v := range s.Outputs {
  3600  			if v == nil {
  3601  				continue
  3602  			}
  3603  			if err := v.Validate(); err != nil {
  3604  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
  3605  			}
  3606  		}
  3607  	}
  3608  
  3609  	if invalidParams.Len() > 0 {
  3610  		return invalidParams
  3611  	}
  3612  	return nil
  3613  }
  3614  
  3615  // SetFlowArn sets the FlowArn field's value.
  3616  func (s *AddFlowOutputsInput) SetFlowArn(v string) *AddFlowOutputsInput {
  3617  	s.FlowArn = &v
  3618  	return s
  3619  }
  3620  
  3621  // SetOutputs sets the Outputs field's value.
  3622  func (s *AddFlowOutputsInput) SetOutputs(v []*AddOutputRequest) *AddFlowOutputsInput {
  3623  	s.Outputs = v
  3624  	return s
  3625  }
  3626  
  3627  // The result of a successful AddOutput request. The response includes the details
  3628  // of the newly added outputs.
  3629  type AddFlowOutputsOutput struct {
  3630  	_ struct{} `type:"structure"`
  3631  
  3632  	// The ARN of the flow that these outputs were added to.
  3633  	FlowArn *string `locationName:"flowArn" type:"string"`
  3634  
  3635  	// The details of the newly added outputs.
  3636  	Outputs []*Output `locationName:"outputs" type:"list"`
  3637  }
  3638  
  3639  // String returns the string representation.
  3640  //
  3641  // API parameter values that are decorated as "sensitive" in the API will not
  3642  // be included in the string output. The member name will be present, but the
  3643  // value will be replaced with "sensitive".
  3644  func (s AddFlowOutputsOutput) String() string {
  3645  	return awsutil.Prettify(s)
  3646  }
  3647  
  3648  // GoString returns the string representation.
  3649  //
  3650  // API parameter values that are decorated as "sensitive" in the API will not
  3651  // be included in the string output. The member name will be present, but the
  3652  // value will be replaced with "sensitive".
  3653  func (s AddFlowOutputsOutput) GoString() string {
  3654  	return s.String()
  3655  }
  3656  
  3657  // SetFlowArn sets the FlowArn field's value.
  3658  func (s *AddFlowOutputsOutput) SetFlowArn(v string) *AddFlowOutputsOutput {
  3659  	s.FlowArn = &v
  3660  	return s
  3661  }
  3662  
  3663  // SetOutputs sets the Outputs field's value.
  3664  func (s *AddFlowOutputsOutput) SetOutputs(v []*Output) *AddFlowOutputsOutput {
  3665  	s.Outputs = v
  3666  	return s
  3667  }
  3668  
  3669  // Adds sources to an existing flow.
  3670  type AddFlowSourcesInput struct {
  3671  	_ struct{} `type:"structure"`
  3672  
  3673  	// FlowArn is a required field
  3674  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  3675  
  3676  	// A list of sources that you want to add.
  3677  	//
  3678  	// Sources is a required field
  3679  	Sources []*SetSourceRequest `locationName:"sources" type:"list" required:"true"`
  3680  }
  3681  
  3682  // String returns the string representation.
  3683  //
  3684  // API parameter values that are decorated as "sensitive" in the API will not
  3685  // be included in the string output. The member name will be present, but the
  3686  // value will be replaced with "sensitive".
  3687  func (s AddFlowSourcesInput) String() string {
  3688  	return awsutil.Prettify(s)
  3689  }
  3690  
  3691  // GoString returns the string representation.
  3692  //
  3693  // API parameter values that are decorated as "sensitive" in the API will not
  3694  // be included in the string output. The member name will be present, but the
  3695  // value will be replaced with "sensitive".
  3696  func (s AddFlowSourcesInput) GoString() string {
  3697  	return s.String()
  3698  }
  3699  
  3700  // Validate inspects the fields of the type to determine if they are valid.
  3701  func (s *AddFlowSourcesInput) Validate() error {
  3702  	invalidParams := request.ErrInvalidParams{Context: "AddFlowSourcesInput"}
  3703  	if s.FlowArn == nil {
  3704  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  3705  	}
  3706  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  3707  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  3708  	}
  3709  	if s.Sources == nil {
  3710  		invalidParams.Add(request.NewErrParamRequired("Sources"))
  3711  	}
  3712  	if s.Sources != nil {
  3713  		for i, v := range s.Sources {
  3714  			if v == nil {
  3715  				continue
  3716  			}
  3717  			if err := v.Validate(); err != nil {
  3718  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
  3719  			}
  3720  		}
  3721  	}
  3722  
  3723  	if invalidParams.Len() > 0 {
  3724  		return invalidParams
  3725  	}
  3726  	return nil
  3727  }
  3728  
  3729  // SetFlowArn sets the FlowArn field's value.
  3730  func (s *AddFlowSourcesInput) SetFlowArn(v string) *AddFlowSourcesInput {
  3731  	s.FlowArn = &v
  3732  	return s
  3733  }
  3734  
  3735  // SetSources sets the Sources field's value.
  3736  func (s *AddFlowSourcesInput) SetSources(v []*SetSourceRequest) *AddFlowSourcesInput {
  3737  	s.Sources = v
  3738  	return s
  3739  }
  3740  
  3741  // The result of a successful AddFlowSources request. The response includes
  3742  // the details of the newly added sources.
  3743  type AddFlowSourcesOutput struct {
  3744  	_ struct{} `type:"structure"`
  3745  
  3746  	// The ARN of the flow that these sources were added to.
  3747  	FlowArn *string `locationName:"flowArn" type:"string"`
  3748  
  3749  	// The details of the newly added sources.
  3750  	Sources []*Source `locationName:"sources" type:"list"`
  3751  }
  3752  
  3753  // String returns the string representation.
  3754  //
  3755  // API parameter values that are decorated as "sensitive" in the API will not
  3756  // be included in the string output. The member name will be present, but the
  3757  // value will be replaced with "sensitive".
  3758  func (s AddFlowSourcesOutput) String() string {
  3759  	return awsutil.Prettify(s)
  3760  }
  3761  
  3762  // GoString returns the string representation.
  3763  //
  3764  // API parameter values that are decorated as "sensitive" in the API will not
  3765  // be included in the string output. The member name will be present, but the
  3766  // value will be replaced with "sensitive".
  3767  func (s AddFlowSourcesOutput) GoString() string {
  3768  	return s.String()
  3769  }
  3770  
  3771  // SetFlowArn sets the FlowArn field's value.
  3772  func (s *AddFlowSourcesOutput) SetFlowArn(v string) *AddFlowSourcesOutput {
  3773  	s.FlowArn = &v
  3774  	return s
  3775  }
  3776  
  3777  // SetSources sets the Sources field's value.
  3778  func (s *AddFlowSourcesOutput) SetSources(v []*Source) *AddFlowSourcesOutput {
  3779  	s.Sources = v
  3780  	return s
  3781  }
  3782  
  3783  // Adds VPC interfaces to an existing flow.
  3784  type AddFlowVpcInterfacesInput struct {
  3785  	_ struct{} `type:"structure"`
  3786  
  3787  	// FlowArn is a required field
  3788  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  3789  
  3790  	// A list of VPC interfaces that you want to add.
  3791  	//
  3792  	// VpcInterfaces is a required field
  3793  	VpcInterfaces []*VpcInterfaceRequest `locationName:"vpcInterfaces" type:"list" required:"true"`
  3794  }
  3795  
  3796  // String returns the string representation.
  3797  //
  3798  // API parameter values that are decorated as "sensitive" in the API will not
  3799  // be included in the string output. The member name will be present, but the
  3800  // value will be replaced with "sensitive".
  3801  func (s AddFlowVpcInterfacesInput) String() string {
  3802  	return awsutil.Prettify(s)
  3803  }
  3804  
  3805  // GoString returns the string representation.
  3806  //
  3807  // API parameter values that are decorated as "sensitive" in the API will not
  3808  // be included in the string output. The member name will be present, but the
  3809  // value will be replaced with "sensitive".
  3810  func (s AddFlowVpcInterfacesInput) GoString() string {
  3811  	return s.String()
  3812  }
  3813  
  3814  // Validate inspects the fields of the type to determine if they are valid.
  3815  func (s *AddFlowVpcInterfacesInput) Validate() error {
  3816  	invalidParams := request.ErrInvalidParams{Context: "AddFlowVpcInterfacesInput"}
  3817  	if s.FlowArn == nil {
  3818  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  3819  	}
  3820  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  3821  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  3822  	}
  3823  	if s.VpcInterfaces == nil {
  3824  		invalidParams.Add(request.NewErrParamRequired("VpcInterfaces"))
  3825  	}
  3826  	if s.VpcInterfaces != nil {
  3827  		for i, v := range s.VpcInterfaces {
  3828  			if v == nil {
  3829  				continue
  3830  			}
  3831  			if err := v.Validate(); err != nil {
  3832  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcInterfaces", i), err.(request.ErrInvalidParams))
  3833  			}
  3834  		}
  3835  	}
  3836  
  3837  	if invalidParams.Len() > 0 {
  3838  		return invalidParams
  3839  	}
  3840  	return nil
  3841  }
  3842  
  3843  // SetFlowArn sets the FlowArn field's value.
  3844  func (s *AddFlowVpcInterfacesInput) SetFlowArn(v string) *AddFlowVpcInterfacesInput {
  3845  	s.FlowArn = &v
  3846  	return s
  3847  }
  3848  
  3849  // SetVpcInterfaces sets the VpcInterfaces field's value.
  3850  func (s *AddFlowVpcInterfacesInput) SetVpcInterfaces(v []*VpcInterfaceRequest) *AddFlowVpcInterfacesInput {
  3851  	s.VpcInterfaces = v
  3852  	return s
  3853  }
  3854  
  3855  // The result of a successful AddFlowVpcInterfaces request. The response includes
  3856  // the details of the newly added VPC interfaces.
  3857  type AddFlowVpcInterfacesOutput struct {
  3858  	_ struct{} `type:"structure"`
  3859  
  3860  	// The ARN of the flow that these VPC interfaces were added to.
  3861  	FlowArn *string `locationName:"flowArn" type:"string"`
  3862  
  3863  	// The details of the newly added VPC interfaces.
  3864  	VpcInterfaces []*VpcInterface `locationName:"vpcInterfaces" type:"list"`
  3865  }
  3866  
  3867  // String returns the string representation.
  3868  //
  3869  // API parameter values that are decorated as "sensitive" in the API will not
  3870  // be included in the string output. The member name will be present, but the
  3871  // value will be replaced with "sensitive".
  3872  func (s AddFlowVpcInterfacesOutput) String() string {
  3873  	return awsutil.Prettify(s)
  3874  }
  3875  
  3876  // GoString returns the string representation.
  3877  //
  3878  // API parameter values that are decorated as "sensitive" in the API will not
  3879  // be included in the string output. The member name will be present, but the
  3880  // value will be replaced with "sensitive".
  3881  func (s AddFlowVpcInterfacesOutput) GoString() string {
  3882  	return s.String()
  3883  }
  3884  
  3885  // SetFlowArn sets the FlowArn field's value.
  3886  func (s *AddFlowVpcInterfacesOutput) SetFlowArn(v string) *AddFlowVpcInterfacesOutput {
  3887  	s.FlowArn = &v
  3888  	return s
  3889  }
  3890  
  3891  // SetVpcInterfaces sets the VpcInterfaces field's value.
  3892  func (s *AddFlowVpcInterfacesOutput) SetVpcInterfaces(v []*VpcInterface) *AddFlowVpcInterfacesOutput {
  3893  	s.VpcInterfaces = v
  3894  	return s
  3895  }
  3896  
  3897  // The media stream that you want to add to the flow.
  3898  type AddMediaStreamRequest struct {
  3899  	_ struct{} `type:"structure"`
  3900  
  3901  	// The attributes that you want to assign to the new media stream.
  3902  	Attributes *MediaStreamAttributesRequest `locationName:"attributes" type:"structure"`
  3903  
  3904  	// The sample rate (in Hz) for the stream. If the media stream type is video
  3905  	// or ancillary data, set this value to 90000. If the media stream type is audio,
  3906  	// set this value to either 48000 or 96000.
  3907  	ClockRate *int64 `locationName:"clockRate" type:"integer"`
  3908  
  3909  	// A description that can help you quickly identify what your media stream is
  3910  	// used for.
  3911  	Description *string `locationName:"description" type:"string"`
  3912  
  3913  	// A unique identifier for the media stream.
  3914  	//
  3915  	// MediaStreamId is a required field
  3916  	MediaStreamId *int64 `locationName:"mediaStreamId" type:"integer" required:"true"`
  3917  
  3918  	// A name that helps you distinguish one media stream from another.
  3919  	//
  3920  	// MediaStreamName is a required field
  3921  	MediaStreamName *string `locationName:"mediaStreamName" type:"string" required:"true"`
  3922  
  3923  	// The type of media stream.
  3924  	//
  3925  	// MediaStreamType is a required field
  3926  	MediaStreamType *string `locationName:"mediaStreamType" type:"string" required:"true" enum:"MediaStreamType"`
  3927  
  3928  	// The resolution of the video.
  3929  	VideoFormat *string `locationName:"videoFormat" type:"string"`
  3930  }
  3931  
  3932  // String returns the string representation.
  3933  //
  3934  // API parameter values that are decorated as "sensitive" in the API will not
  3935  // be included in the string output. The member name will be present, but the
  3936  // value will be replaced with "sensitive".
  3937  func (s AddMediaStreamRequest) String() string {
  3938  	return awsutil.Prettify(s)
  3939  }
  3940  
  3941  // GoString returns the string representation.
  3942  //
  3943  // API parameter values that are decorated as "sensitive" in the API will not
  3944  // be included in the string output. The member name will be present, but the
  3945  // value will be replaced with "sensitive".
  3946  func (s AddMediaStreamRequest) GoString() string {
  3947  	return s.String()
  3948  }
  3949  
  3950  // Validate inspects the fields of the type to determine if they are valid.
  3951  func (s *AddMediaStreamRequest) Validate() error {
  3952  	invalidParams := request.ErrInvalidParams{Context: "AddMediaStreamRequest"}
  3953  	if s.MediaStreamId == nil {
  3954  		invalidParams.Add(request.NewErrParamRequired("MediaStreamId"))
  3955  	}
  3956  	if s.MediaStreamName == nil {
  3957  		invalidParams.Add(request.NewErrParamRequired("MediaStreamName"))
  3958  	}
  3959  	if s.MediaStreamType == nil {
  3960  		invalidParams.Add(request.NewErrParamRequired("MediaStreamType"))
  3961  	}
  3962  
  3963  	if invalidParams.Len() > 0 {
  3964  		return invalidParams
  3965  	}
  3966  	return nil
  3967  }
  3968  
  3969  // SetAttributes sets the Attributes field's value.
  3970  func (s *AddMediaStreamRequest) SetAttributes(v *MediaStreamAttributesRequest) *AddMediaStreamRequest {
  3971  	s.Attributes = v
  3972  	return s
  3973  }
  3974  
  3975  // SetClockRate sets the ClockRate field's value.
  3976  func (s *AddMediaStreamRequest) SetClockRate(v int64) *AddMediaStreamRequest {
  3977  	s.ClockRate = &v
  3978  	return s
  3979  }
  3980  
  3981  // SetDescription sets the Description field's value.
  3982  func (s *AddMediaStreamRequest) SetDescription(v string) *AddMediaStreamRequest {
  3983  	s.Description = &v
  3984  	return s
  3985  }
  3986  
  3987  // SetMediaStreamId sets the MediaStreamId field's value.
  3988  func (s *AddMediaStreamRequest) SetMediaStreamId(v int64) *AddMediaStreamRequest {
  3989  	s.MediaStreamId = &v
  3990  	return s
  3991  }
  3992  
  3993  // SetMediaStreamName sets the MediaStreamName field's value.
  3994  func (s *AddMediaStreamRequest) SetMediaStreamName(v string) *AddMediaStreamRequest {
  3995  	s.MediaStreamName = &v
  3996  	return s
  3997  }
  3998  
  3999  // SetMediaStreamType sets the MediaStreamType field's value.
  4000  func (s *AddMediaStreamRequest) SetMediaStreamType(v string) *AddMediaStreamRequest {
  4001  	s.MediaStreamType = &v
  4002  	return s
  4003  }
  4004  
  4005  // SetVideoFormat sets the VideoFormat field's value.
  4006  func (s *AddMediaStreamRequest) SetVideoFormat(v string) *AddMediaStreamRequest {
  4007  	s.VideoFormat = &v
  4008  	return s
  4009  }
  4010  
  4011  // The output that you want to add to this flow.
  4012  type AddOutputRequest struct {
  4013  	_ struct{} `type:"structure"`
  4014  
  4015  	// The range of IP addresses that should be allowed to initiate output requests
  4016  	// to this flow. These IP addresses should be in the form of a Classless Inter-Domain
  4017  	// Routing (CIDR) block; for example, 10.0.0.0/16.
  4018  	CidrAllowList []*string `locationName:"cidrAllowList" type:"list"`
  4019  
  4020  	// A description of the output. This description appears only on the AWS Elemental
  4021  	// MediaConnect console and will not be seen by the end user.
  4022  	Description *string `locationName:"description" type:"string"`
  4023  
  4024  	// The IP address from which video will be sent to output destinations.
  4025  	Destination *string `locationName:"destination" type:"string"`
  4026  
  4027  	// The type of key used for the encryption. If no keyType is provided, the service
  4028  	// will use the default setting (static-key).
  4029  	Encryption *Encryption `locationName:"encryption" type:"structure"`
  4030  
  4031  	// The maximum latency in milliseconds for Zixi-based streams.
  4032  	MaxLatency *int64 `locationName:"maxLatency" type:"integer"`
  4033  
  4034  	// The media streams that are associated with the output, and the parameters
  4035  	// for those associations.
  4036  	MediaStreamOutputConfigurations []*MediaStreamOutputConfigurationRequest `locationName:"mediaStreamOutputConfigurations" type:"list"`
  4037  
  4038  	// The minimum latency in milliseconds for SRT-based streams. In streams that
  4039  	// use the SRT protocol, this value that you set on your MediaConnect source
  4040  	// or output represents the minimal potential latency of that connection. The
  4041  	// latency of the stream is set to the highest number between the sender’s
  4042  	// minimum latency and the receiver’s minimum latency.
  4043  	MinLatency *int64 `locationName:"minLatency" type:"integer"`
  4044  
  4045  	// The name of the output. This value must be unique within the current flow.
  4046  	Name *string `locationName:"name" type:"string"`
  4047  
  4048  	// The port to use when content is distributed to this output.
  4049  	Port *int64 `locationName:"port" type:"integer"`
  4050  
  4051  	// The protocol to use for the output.
  4052  	//
  4053  	// Protocol is a required field
  4054  	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"Protocol"`
  4055  
  4056  	// The remote ID for the Zixi-pull output stream.
  4057  	RemoteId *string `locationName:"remoteId" type:"string"`
  4058  
  4059  	// The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
  4060  	SmoothingLatency *int64 `locationName:"smoothingLatency" type:"integer"`
  4061  
  4062  	// The stream ID that you want to use for this transport. This parameter applies
  4063  	// only to Zixi-based streams.
  4064  	StreamId *string `locationName:"streamId" type:"string"`
  4065  
  4066  	// The name of the VPC interface attachment to use for this output.
  4067  	VpcInterfaceAttachment *VpcInterfaceAttachment `locationName:"vpcInterfaceAttachment" type:"structure"`
  4068  }
  4069  
  4070  // String returns the string representation.
  4071  //
  4072  // API parameter values that are decorated as "sensitive" in the API will not
  4073  // be included in the string output. The member name will be present, but the
  4074  // value will be replaced with "sensitive".
  4075  func (s AddOutputRequest) String() string {
  4076  	return awsutil.Prettify(s)
  4077  }
  4078  
  4079  // GoString returns the string representation.
  4080  //
  4081  // API parameter values that are decorated as "sensitive" in the API will not
  4082  // be included in the string output. The member name will be present, but the
  4083  // value will be replaced with "sensitive".
  4084  func (s AddOutputRequest) GoString() string {
  4085  	return s.String()
  4086  }
  4087  
  4088  // Validate inspects the fields of the type to determine if they are valid.
  4089  func (s *AddOutputRequest) Validate() error {
  4090  	invalidParams := request.ErrInvalidParams{Context: "AddOutputRequest"}
  4091  	if s.Protocol == nil {
  4092  		invalidParams.Add(request.NewErrParamRequired("Protocol"))
  4093  	}
  4094  	if s.Encryption != nil {
  4095  		if err := s.Encryption.Validate(); err != nil {
  4096  			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
  4097  		}
  4098  	}
  4099  	if s.MediaStreamOutputConfigurations != nil {
  4100  		for i, v := range s.MediaStreamOutputConfigurations {
  4101  			if v == nil {
  4102  				continue
  4103  			}
  4104  			if err := v.Validate(); err != nil {
  4105  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaStreamOutputConfigurations", i), err.(request.ErrInvalidParams))
  4106  			}
  4107  		}
  4108  	}
  4109  
  4110  	if invalidParams.Len() > 0 {
  4111  		return invalidParams
  4112  	}
  4113  	return nil
  4114  }
  4115  
  4116  // SetCidrAllowList sets the CidrAllowList field's value.
  4117  func (s *AddOutputRequest) SetCidrAllowList(v []*string) *AddOutputRequest {
  4118  	s.CidrAllowList = v
  4119  	return s
  4120  }
  4121  
  4122  // SetDescription sets the Description field's value.
  4123  func (s *AddOutputRequest) SetDescription(v string) *AddOutputRequest {
  4124  	s.Description = &v
  4125  	return s
  4126  }
  4127  
  4128  // SetDestination sets the Destination field's value.
  4129  func (s *AddOutputRequest) SetDestination(v string) *AddOutputRequest {
  4130  	s.Destination = &v
  4131  	return s
  4132  }
  4133  
  4134  // SetEncryption sets the Encryption field's value.
  4135  func (s *AddOutputRequest) SetEncryption(v *Encryption) *AddOutputRequest {
  4136  	s.Encryption = v
  4137  	return s
  4138  }
  4139  
  4140  // SetMaxLatency sets the MaxLatency field's value.
  4141  func (s *AddOutputRequest) SetMaxLatency(v int64) *AddOutputRequest {
  4142  	s.MaxLatency = &v
  4143  	return s
  4144  }
  4145  
  4146  // SetMediaStreamOutputConfigurations sets the MediaStreamOutputConfigurations field's value.
  4147  func (s *AddOutputRequest) SetMediaStreamOutputConfigurations(v []*MediaStreamOutputConfigurationRequest) *AddOutputRequest {
  4148  	s.MediaStreamOutputConfigurations = v
  4149  	return s
  4150  }
  4151  
  4152  // SetMinLatency sets the MinLatency field's value.
  4153  func (s *AddOutputRequest) SetMinLatency(v int64) *AddOutputRequest {
  4154  	s.MinLatency = &v
  4155  	return s
  4156  }
  4157  
  4158  // SetName sets the Name field's value.
  4159  func (s *AddOutputRequest) SetName(v string) *AddOutputRequest {
  4160  	s.Name = &v
  4161  	return s
  4162  }
  4163  
  4164  // SetPort sets the Port field's value.
  4165  func (s *AddOutputRequest) SetPort(v int64) *AddOutputRequest {
  4166  	s.Port = &v
  4167  	return s
  4168  }
  4169  
  4170  // SetProtocol sets the Protocol field's value.
  4171  func (s *AddOutputRequest) SetProtocol(v string) *AddOutputRequest {
  4172  	s.Protocol = &v
  4173  	return s
  4174  }
  4175  
  4176  // SetRemoteId sets the RemoteId field's value.
  4177  func (s *AddOutputRequest) SetRemoteId(v string) *AddOutputRequest {
  4178  	s.RemoteId = &v
  4179  	return s
  4180  }
  4181  
  4182  // SetSmoothingLatency sets the SmoothingLatency field's value.
  4183  func (s *AddOutputRequest) SetSmoothingLatency(v int64) *AddOutputRequest {
  4184  	s.SmoothingLatency = &v
  4185  	return s
  4186  }
  4187  
  4188  // SetStreamId sets the StreamId field's value.
  4189  func (s *AddOutputRequest) SetStreamId(v string) *AddOutputRequest {
  4190  	s.StreamId = &v
  4191  	return s
  4192  }
  4193  
  4194  // SetVpcInterfaceAttachment sets the VpcInterfaceAttachment field's value.
  4195  func (s *AddOutputRequest) SetVpcInterfaceAttachment(v *VpcInterfaceAttachment) *AddOutputRequest {
  4196  	s.VpcInterfaceAttachment = v
  4197  	return s
  4198  }
  4199  
  4200  // Exception raised by AWS Elemental MediaConnect. See the error message and
  4201  // documentation for the operation for more information on the cause of this
  4202  // exception.
  4203  type BadRequestException struct {
  4204  	_            struct{}                  `type:"structure"`
  4205  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4206  
  4207  	Message_ *string `locationName:"message" type:"string"`
  4208  }
  4209  
  4210  // String returns the string representation.
  4211  //
  4212  // API parameter values that are decorated as "sensitive" in the API will not
  4213  // be included in the string output. The member name will be present, but the
  4214  // value will be replaced with "sensitive".
  4215  func (s BadRequestException) String() string {
  4216  	return awsutil.Prettify(s)
  4217  }
  4218  
  4219  // GoString returns the string representation.
  4220  //
  4221  // API parameter values that are decorated as "sensitive" in the API will not
  4222  // be included in the string output. The member name will be present, but the
  4223  // value will be replaced with "sensitive".
  4224  func (s BadRequestException) GoString() string {
  4225  	return s.String()
  4226  }
  4227  
  4228  func newErrorBadRequestException(v protocol.ResponseMetadata) error {
  4229  	return &BadRequestException{
  4230  		RespMetadata: v,
  4231  	}
  4232  }
  4233  
  4234  // Code returns the exception type name.
  4235  func (s *BadRequestException) Code() string {
  4236  	return "BadRequestException"
  4237  }
  4238  
  4239  // Message returns the exception's message.
  4240  func (s *BadRequestException) Message() string {
  4241  	if s.Message_ != nil {
  4242  		return *s.Message_
  4243  	}
  4244  	return ""
  4245  }
  4246  
  4247  // OrigErr always returns nil, satisfies awserr.Error interface.
  4248  func (s *BadRequestException) OrigErr() error {
  4249  	return nil
  4250  }
  4251  
  4252  func (s *BadRequestException) Error() string {
  4253  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4254  }
  4255  
  4256  // Status code returns the HTTP status code for the request's response error.
  4257  func (s *BadRequestException) StatusCode() int {
  4258  	return s.RespMetadata.StatusCode
  4259  }
  4260  
  4261  // RequestID returns the service's response RequestID for request.
  4262  func (s *BadRequestException) RequestID() string {
  4263  	return s.RespMetadata.RequestID
  4264  }
  4265  
  4266  // Exception raised by AWS Elemental MediaConnect. See the error message and
  4267  // documentation for the operation for more information on the cause of this
  4268  // exception.
  4269  type CreateFlow420Exception struct {
  4270  	_            struct{}                  `type:"structure"`
  4271  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4272  
  4273  	Message_ *string `locationName:"message" type:"string"`
  4274  }
  4275  
  4276  // String returns the string representation.
  4277  //
  4278  // API parameter values that are decorated as "sensitive" in the API will not
  4279  // be included in the string output. The member name will be present, but the
  4280  // value will be replaced with "sensitive".
  4281  func (s CreateFlow420Exception) String() string {
  4282  	return awsutil.Prettify(s)
  4283  }
  4284  
  4285  // GoString returns the string representation.
  4286  //
  4287  // API parameter values that are decorated as "sensitive" in the API will not
  4288  // be included in the string output. The member name will be present, but the
  4289  // value will be replaced with "sensitive".
  4290  func (s CreateFlow420Exception) GoString() string {
  4291  	return s.String()
  4292  }
  4293  
  4294  func newErrorCreateFlow420Exception(v protocol.ResponseMetadata) error {
  4295  	return &CreateFlow420Exception{
  4296  		RespMetadata: v,
  4297  	}
  4298  }
  4299  
  4300  // Code returns the exception type name.
  4301  func (s *CreateFlow420Exception) Code() string {
  4302  	return "CreateFlow420Exception"
  4303  }
  4304  
  4305  // Message returns the exception's message.
  4306  func (s *CreateFlow420Exception) Message() string {
  4307  	if s.Message_ != nil {
  4308  		return *s.Message_
  4309  	}
  4310  	return ""
  4311  }
  4312  
  4313  // OrigErr always returns nil, satisfies awserr.Error interface.
  4314  func (s *CreateFlow420Exception) OrigErr() error {
  4315  	return nil
  4316  }
  4317  
  4318  func (s *CreateFlow420Exception) Error() string {
  4319  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4320  }
  4321  
  4322  // Status code returns the HTTP status code for the request's response error.
  4323  func (s *CreateFlow420Exception) StatusCode() int {
  4324  	return s.RespMetadata.StatusCode
  4325  }
  4326  
  4327  // RequestID returns the service's response RequestID for request.
  4328  func (s *CreateFlow420Exception) RequestID() string {
  4329  	return s.RespMetadata.RequestID
  4330  }
  4331  
  4332  // Creates a new flow. The request must include one source. The request optionally
  4333  // can include outputs (up to 50) and entitlements (up to 50.)
  4334  type CreateFlowInput struct {
  4335  	_ struct{} `type:"structure"`
  4336  
  4337  	// The Availability Zone that you want to create the flow in. These options
  4338  	// are limited to the Availability Zones within the current AWS Region.
  4339  	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  4340  
  4341  	// The entitlements that you want to grant on a flow.
  4342  	Entitlements []*GrantEntitlementRequest `locationName:"entitlements" type:"list"`
  4343  
  4344  	// The media streams that you want to add to the flow. You can associate these
  4345  	// media streams with sources and outputs on the flow.
  4346  	MediaStreams []*AddMediaStreamRequest `locationName:"mediaStreams" type:"list"`
  4347  
  4348  	// The name of the flow.
  4349  	//
  4350  	// Name is a required field
  4351  	Name *string `locationName:"name" type:"string" required:"true"`
  4352  
  4353  	// The outputs that you want to add to this flow.
  4354  	Outputs []*AddOutputRequest `locationName:"outputs" type:"list"`
  4355  
  4356  	// The settings for the source of the flow.
  4357  	Source *SetSourceRequest `locationName:"source" type:"structure"`
  4358  
  4359  	// The settings for source failover
  4360  	SourceFailoverConfig *FailoverConfig `locationName:"sourceFailoverConfig" type:"structure"`
  4361  
  4362  	Sources []*SetSourceRequest `locationName:"sources" type:"list"`
  4363  
  4364  	// The VPC interfaces you want on the flow.
  4365  	VpcInterfaces []*VpcInterfaceRequest `locationName:"vpcInterfaces" type:"list"`
  4366  }
  4367  
  4368  // String returns the string representation.
  4369  //
  4370  // API parameter values that are decorated as "sensitive" in the API will not
  4371  // be included in the string output. The member name will be present, but the
  4372  // value will be replaced with "sensitive".
  4373  func (s CreateFlowInput) String() string {
  4374  	return awsutil.Prettify(s)
  4375  }
  4376  
  4377  // GoString returns the string representation.
  4378  //
  4379  // API parameter values that are decorated as "sensitive" in the API will not
  4380  // be included in the string output. The member name will be present, but the
  4381  // value will be replaced with "sensitive".
  4382  func (s CreateFlowInput) GoString() string {
  4383  	return s.String()
  4384  }
  4385  
  4386  // Validate inspects the fields of the type to determine if they are valid.
  4387  func (s *CreateFlowInput) Validate() error {
  4388  	invalidParams := request.ErrInvalidParams{Context: "CreateFlowInput"}
  4389  	if s.Name == nil {
  4390  		invalidParams.Add(request.NewErrParamRequired("Name"))
  4391  	}
  4392  	if s.Entitlements != nil {
  4393  		for i, v := range s.Entitlements {
  4394  			if v == nil {
  4395  				continue
  4396  			}
  4397  			if err := v.Validate(); err != nil {
  4398  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entitlements", i), err.(request.ErrInvalidParams))
  4399  			}
  4400  		}
  4401  	}
  4402  	if s.MediaStreams != nil {
  4403  		for i, v := range s.MediaStreams {
  4404  			if v == nil {
  4405  				continue
  4406  			}
  4407  			if err := v.Validate(); err != nil {
  4408  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaStreams", i), err.(request.ErrInvalidParams))
  4409  			}
  4410  		}
  4411  	}
  4412  	if s.Outputs != nil {
  4413  		for i, v := range s.Outputs {
  4414  			if v == nil {
  4415  				continue
  4416  			}
  4417  			if err := v.Validate(); err != nil {
  4418  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams))
  4419  			}
  4420  		}
  4421  	}
  4422  	if s.Source != nil {
  4423  		if err := s.Source.Validate(); err != nil {
  4424  			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
  4425  		}
  4426  	}
  4427  	if s.Sources != nil {
  4428  		for i, v := range s.Sources {
  4429  			if v == nil {
  4430  				continue
  4431  			}
  4432  			if err := v.Validate(); err != nil {
  4433  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
  4434  			}
  4435  		}
  4436  	}
  4437  	if s.VpcInterfaces != nil {
  4438  		for i, v := range s.VpcInterfaces {
  4439  			if v == nil {
  4440  				continue
  4441  			}
  4442  			if err := v.Validate(); err != nil {
  4443  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcInterfaces", i), err.(request.ErrInvalidParams))
  4444  			}
  4445  		}
  4446  	}
  4447  
  4448  	if invalidParams.Len() > 0 {
  4449  		return invalidParams
  4450  	}
  4451  	return nil
  4452  }
  4453  
  4454  // SetAvailabilityZone sets the AvailabilityZone field's value.
  4455  func (s *CreateFlowInput) SetAvailabilityZone(v string) *CreateFlowInput {
  4456  	s.AvailabilityZone = &v
  4457  	return s
  4458  }
  4459  
  4460  // SetEntitlements sets the Entitlements field's value.
  4461  func (s *CreateFlowInput) SetEntitlements(v []*GrantEntitlementRequest) *CreateFlowInput {
  4462  	s.Entitlements = v
  4463  	return s
  4464  }
  4465  
  4466  // SetMediaStreams sets the MediaStreams field's value.
  4467  func (s *CreateFlowInput) SetMediaStreams(v []*AddMediaStreamRequest) *CreateFlowInput {
  4468  	s.MediaStreams = v
  4469  	return s
  4470  }
  4471  
  4472  // SetName sets the Name field's value.
  4473  func (s *CreateFlowInput) SetName(v string) *CreateFlowInput {
  4474  	s.Name = &v
  4475  	return s
  4476  }
  4477  
  4478  // SetOutputs sets the Outputs field's value.
  4479  func (s *CreateFlowInput) SetOutputs(v []*AddOutputRequest) *CreateFlowInput {
  4480  	s.Outputs = v
  4481  	return s
  4482  }
  4483  
  4484  // SetSource sets the Source field's value.
  4485  func (s *CreateFlowInput) SetSource(v *SetSourceRequest) *CreateFlowInput {
  4486  	s.Source = v
  4487  	return s
  4488  }
  4489  
  4490  // SetSourceFailoverConfig sets the SourceFailoverConfig field's value.
  4491  func (s *CreateFlowInput) SetSourceFailoverConfig(v *FailoverConfig) *CreateFlowInput {
  4492  	s.SourceFailoverConfig = v
  4493  	return s
  4494  }
  4495  
  4496  // SetSources sets the Sources field's value.
  4497  func (s *CreateFlowInput) SetSources(v []*SetSourceRequest) *CreateFlowInput {
  4498  	s.Sources = v
  4499  	return s
  4500  }
  4501  
  4502  // SetVpcInterfaces sets the VpcInterfaces field's value.
  4503  func (s *CreateFlowInput) SetVpcInterfaces(v []*VpcInterfaceRequest) *CreateFlowInput {
  4504  	s.VpcInterfaces = v
  4505  	return s
  4506  }
  4507  
  4508  // The result of a successful CreateFlow request.
  4509  type CreateFlowOutput struct {
  4510  	_ struct{} `type:"structure"`
  4511  
  4512  	// The settings for a flow, including its source, outputs, and entitlements.
  4513  	Flow *Flow `locationName:"flow" type:"structure"`
  4514  }
  4515  
  4516  // String returns the string representation.
  4517  //
  4518  // API parameter values that are decorated as "sensitive" in the API will not
  4519  // be included in the string output. The member name will be present, but the
  4520  // value will be replaced with "sensitive".
  4521  func (s CreateFlowOutput) String() string {
  4522  	return awsutil.Prettify(s)
  4523  }
  4524  
  4525  // GoString returns the string representation.
  4526  //
  4527  // API parameter values that are decorated as "sensitive" in the API will not
  4528  // be included in the string output. The member name will be present, but the
  4529  // value will be replaced with "sensitive".
  4530  func (s CreateFlowOutput) GoString() string {
  4531  	return s.String()
  4532  }
  4533  
  4534  // SetFlow sets the Flow field's value.
  4535  func (s *CreateFlowOutput) SetFlow(v *Flow) *CreateFlowOutput {
  4536  	s.Flow = v
  4537  	return s
  4538  }
  4539  
  4540  type DeleteFlowInput struct {
  4541  	_ struct{} `type:"structure" nopayload:"true"`
  4542  
  4543  	// FlowArn is a required field
  4544  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  4545  }
  4546  
  4547  // String returns the string representation.
  4548  //
  4549  // API parameter values that are decorated as "sensitive" in the API will not
  4550  // be included in the string output. The member name will be present, but the
  4551  // value will be replaced with "sensitive".
  4552  func (s DeleteFlowInput) String() string {
  4553  	return awsutil.Prettify(s)
  4554  }
  4555  
  4556  // GoString returns the string representation.
  4557  //
  4558  // API parameter values that are decorated as "sensitive" in the API will not
  4559  // be included in the string output. The member name will be present, but the
  4560  // value will be replaced with "sensitive".
  4561  func (s DeleteFlowInput) GoString() string {
  4562  	return s.String()
  4563  }
  4564  
  4565  // Validate inspects the fields of the type to determine if they are valid.
  4566  func (s *DeleteFlowInput) Validate() error {
  4567  	invalidParams := request.ErrInvalidParams{Context: "DeleteFlowInput"}
  4568  	if s.FlowArn == nil {
  4569  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  4570  	}
  4571  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  4572  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  4573  	}
  4574  
  4575  	if invalidParams.Len() > 0 {
  4576  		return invalidParams
  4577  	}
  4578  	return nil
  4579  }
  4580  
  4581  // SetFlowArn sets the FlowArn field's value.
  4582  func (s *DeleteFlowInput) SetFlowArn(v string) *DeleteFlowInput {
  4583  	s.FlowArn = &v
  4584  	return s
  4585  }
  4586  
  4587  // The result of a successful DeleteFlow request.
  4588  type DeleteFlowOutput struct {
  4589  	_ struct{} `type:"structure"`
  4590  
  4591  	// The ARN of the flow that was deleted.
  4592  	FlowArn *string `locationName:"flowArn" type:"string"`
  4593  
  4594  	// The status of the flow when the DeleteFlow process begins.
  4595  	Status *string `locationName:"status" type:"string" enum:"Status"`
  4596  }
  4597  
  4598  // String returns the string representation.
  4599  //
  4600  // API parameter values that are decorated as "sensitive" in the API will not
  4601  // be included in the string output. The member name will be present, but the
  4602  // value will be replaced with "sensitive".
  4603  func (s DeleteFlowOutput) String() string {
  4604  	return awsutil.Prettify(s)
  4605  }
  4606  
  4607  // GoString returns the string representation.
  4608  //
  4609  // API parameter values that are decorated as "sensitive" in the API will not
  4610  // be included in the string output. The member name will be present, but the
  4611  // value will be replaced with "sensitive".
  4612  func (s DeleteFlowOutput) GoString() string {
  4613  	return s.String()
  4614  }
  4615  
  4616  // SetFlowArn sets the FlowArn field's value.
  4617  func (s *DeleteFlowOutput) SetFlowArn(v string) *DeleteFlowOutput {
  4618  	s.FlowArn = &v
  4619  	return s
  4620  }
  4621  
  4622  // SetStatus sets the Status field's value.
  4623  func (s *DeleteFlowOutput) SetStatus(v string) *DeleteFlowOutput {
  4624  	s.Status = &v
  4625  	return s
  4626  }
  4627  
  4628  type DescribeFlowInput struct {
  4629  	_ struct{} `type:"structure" nopayload:"true"`
  4630  
  4631  	// FlowArn is a required field
  4632  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  4633  }
  4634  
  4635  // String returns the string representation.
  4636  //
  4637  // API parameter values that are decorated as "sensitive" in the API will not
  4638  // be included in the string output. The member name will be present, but the
  4639  // value will be replaced with "sensitive".
  4640  func (s DescribeFlowInput) String() string {
  4641  	return awsutil.Prettify(s)
  4642  }
  4643  
  4644  // GoString returns the string representation.
  4645  //
  4646  // API parameter values that are decorated as "sensitive" in the API will not
  4647  // be included in the string output. The member name will be present, but the
  4648  // value will be replaced with "sensitive".
  4649  func (s DescribeFlowInput) GoString() string {
  4650  	return s.String()
  4651  }
  4652  
  4653  // Validate inspects the fields of the type to determine if they are valid.
  4654  func (s *DescribeFlowInput) Validate() error {
  4655  	invalidParams := request.ErrInvalidParams{Context: "DescribeFlowInput"}
  4656  	if s.FlowArn == nil {
  4657  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  4658  	}
  4659  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  4660  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  4661  	}
  4662  
  4663  	if invalidParams.Len() > 0 {
  4664  		return invalidParams
  4665  	}
  4666  	return nil
  4667  }
  4668  
  4669  // SetFlowArn sets the FlowArn field's value.
  4670  func (s *DescribeFlowInput) SetFlowArn(v string) *DescribeFlowInput {
  4671  	s.FlowArn = &v
  4672  	return s
  4673  }
  4674  
  4675  // The result of a successful DescribeFlow request.
  4676  type DescribeFlowOutput struct {
  4677  	_ struct{} `type:"structure"`
  4678  
  4679  	// The settings for a flow, including its source, outputs, and entitlements.
  4680  	Flow *Flow `locationName:"flow" type:"structure"`
  4681  
  4682  	// Messages that provide the state of the flow.
  4683  	Messages *Messages `locationName:"messages" type:"structure"`
  4684  }
  4685  
  4686  // String returns the string representation.
  4687  //
  4688  // API parameter values that are decorated as "sensitive" in the API will not
  4689  // be included in the string output. The member name will be present, but the
  4690  // value will be replaced with "sensitive".
  4691  func (s DescribeFlowOutput) String() string {
  4692  	return awsutil.Prettify(s)
  4693  }
  4694  
  4695  // GoString returns the string representation.
  4696  //
  4697  // API parameter values that are decorated as "sensitive" in the API will not
  4698  // be included in the string output. The member name will be present, but the
  4699  // value will be replaced with "sensitive".
  4700  func (s DescribeFlowOutput) GoString() string {
  4701  	return s.String()
  4702  }
  4703  
  4704  // SetFlow sets the Flow field's value.
  4705  func (s *DescribeFlowOutput) SetFlow(v *Flow) *DescribeFlowOutput {
  4706  	s.Flow = v
  4707  	return s
  4708  }
  4709  
  4710  // SetMessages sets the Messages field's value.
  4711  func (s *DescribeFlowOutput) SetMessages(v *Messages) *DescribeFlowOutput {
  4712  	s.Messages = v
  4713  	return s
  4714  }
  4715  
  4716  type DescribeOfferingInput struct {
  4717  	_ struct{} `type:"structure" nopayload:"true"`
  4718  
  4719  	// OfferingArn is a required field
  4720  	OfferingArn *string `location:"uri" locationName:"offeringArn" type:"string" required:"true"`
  4721  }
  4722  
  4723  // String returns the string representation.
  4724  //
  4725  // API parameter values that are decorated as "sensitive" in the API will not
  4726  // be included in the string output. The member name will be present, but the
  4727  // value will be replaced with "sensitive".
  4728  func (s DescribeOfferingInput) String() string {
  4729  	return awsutil.Prettify(s)
  4730  }
  4731  
  4732  // GoString returns the string representation.
  4733  //
  4734  // API parameter values that are decorated as "sensitive" in the API will not
  4735  // be included in the string output. The member name will be present, but the
  4736  // value will be replaced with "sensitive".
  4737  func (s DescribeOfferingInput) GoString() string {
  4738  	return s.String()
  4739  }
  4740  
  4741  // Validate inspects the fields of the type to determine if they are valid.
  4742  func (s *DescribeOfferingInput) Validate() error {
  4743  	invalidParams := request.ErrInvalidParams{Context: "DescribeOfferingInput"}
  4744  	if s.OfferingArn == nil {
  4745  		invalidParams.Add(request.NewErrParamRequired("OfferingArn"))
  4746  	}
  4747  	if s.OfferingArn != nil && len(*s.OfferingArn) < 1 {
  4748  		invalidParams.Add(request.NewErrParamMinLen("OfferingArn", 1))
  4749  	}
  4750  
  4751  	if invalidParams.Len() > 0 {
  4752  		return invalidParams
  4753  	}
  4754  	return nil
  4755  }
  4756  
  4757  // SetOfferingArn sets the OfferingArn field's value.
  4758  func (s *DescribeOfferingInput) SetOfferingArn(v string) *DescribeOfferingInput {
  4759  	s.OfferingArn = &v
  4760  	return s
  4761  }
  4762  
  4763  // The result of a successful DescribeOffering request.
  4764  type DescribeOfferingOutput struct {
  4765  	_ struct{} `type:"structure"`
  4766  
  4767  	// A savings plan that reserves a certain amount of outbound bandwidth usage
  4768  	// at a discounted rate each month over a period of time.
  4769  	Offering *Offering `locationName:"offering" type:"structure"`
  4770  }
  4771  
  4772  // String returns the string representation.
  4773  //
  4774  // API parameter values that are decorated as "sensitive" in the API will not
  4775  // be included in the string output. The member name will be present, but the
  4776  // value will be replaced with "sensitive".
  4777  func (s DescribeOfferingOutput) String() string {
  4778  	return awsutil.Prettify(s)
  4779  }
  4780  
  4781  // GoString returns the string representation.
  4782  //
  4783  // API parameter values that are decorated as "sensitive" in the API will not
  4784  // be included in the string output. The member name will be present, but the
  4785  // value will be replaced with "sensitive".
  4786  func (s DescribeOfferingOutput) GoString() string {
  4787  	return s.String()
  4788  }
  4789  
  4790  // SetOffering sets the Offering field's value.
  4791  func (s *DescribeOfferingOutput) SetOffering(v *Offering) *DescribeOfferingOutput {
  4792  	s.Offering = v
  4793  	return s
  4794  }
  4795  
  4796  type DescribeReservationInput struct {
  4797  	_ struct{} `type:"structure" nopayload:"true"`
  4798  
  4799  	// ReservationArn is a required field
  4800  	ReservationArn *string `location:"uri" locationName:"reservationArn" type:"string" required:"true"`
  4801  }
  4802  
  4803  // String returns the string representation.
  4804  //
  4805  // API parameter values that are decorated as "sensitive" in the API will not
  4806  // be included in the string output. The member name will be present, but the
  4807  // value will be replaced with "sensitive".
  4808  func (s DescribeReservationInput) String() string {
  4809  	return awsutil.Prettify(s)
  4810  }
  4811  
  4812  // GoString returns the string representation.
  4813  //
  4814  // API parameter values that are decorated as "sensitive" in the API will not
  4815  // be included in the string output. The member name will be present, but the
  4816  // value will be replaced with "sensitive".
  4817  func (s DescribeReservationInput) GoString() string {
  4818  	return s.String()
  4819  }
  4820  
  4821  // Validate inspects the fields of the type to determine if they are valid.
  4822  func (s *DescribeReservationInput) Validate() error {
  4823  	invalidParams := request.ErrInvalidParams{Context: "DescribeReservationInput"}
  4824  	if s.ReservationArn == nil {
  4825  		invalidParams.Add(request.NewErrParamRequired("ReservationArn"))
  4826  	}
  4827  	if s.ReservationArn != nil && len(*s.ReservationArn) < 1 {
  4828  		invalidParams.Add(request.NewErrParamMinLen("ReservationArn", 1))
  4829  	}
  4830  
  4831  	if invalidParams.Len() > 0 {
  4832  		return invalidParams
  4833  	}
  4834  	return nil
  4835  }
  4836  
  4837  // SetReservationArn sets the ReservationArn field's value.
  4838  func (s *DescribeReservationInput) SetReservationArn(v string) *DescribeReservationInput {
  4839  	s.ReservationArn = &v
  4840  	return s
  4841  }
  4842  
  4843  // The result of a successful DescribeReservation request.
  4844  type DescribeReservationOutput struct {
  4845  	_ struct{} `type:"structure"`
  4846  
  4847  	// A pricing agreement for a discounted rate for a specific outbound bandwidth
  4848  	// that your MediaConnect account will use each month over a specific time period.
  4849  	// The discounted rate in the reservation applies to outbound bandwidth for
  4850  	// all flows from your account until your account reaches the amount of bandwidth
  4851  	// in your reservation. If you use more outbound bandwidth than the agreed upon
  4852  	// amount in a single month, the overage is charged at the on-demand rate.
  4853  	Reservation *Reservation `locationName:"reservation" type:"structure"`
  4854  }
  4855  
  4856  // String returns the string representation.
  4857  //
  4858  // API parameter values that are decorated as "sensitive" in the API will not
  4859  // be included in the string output. The member name will be present, but the
  4860  // value will be replaced with "sensitive".
  4861  func (s DescribeReservationOutput) String() string {
  4862  	return awsutil.Prettify(s)
  4863  }
  4864  
  4865  // GoString returns the string representation.
  4866  //
  4867  // API parameter values that are decorated as "sensitive" in the API will not
  4868  // be included in the string output. The member name will be present, but the
  4869  // value will be replaced with "sensitive".
  4870  func (s DescribeReservationOutput) GoString() string {
  4871  	return s.String()
  4872  }
  4873  
  4874  // SetReservation sets the Reservation field's value.
  4875  func (s *DescribeReservationOutput) SetReservation(v *Reservation) *DescribeReservationOutput {
  4876  	s.Reservation = v
  4877  	return s
  4878  }
  4879  
  4880  // The transport parameters that are associated with an outbound media stream.
  4881  type DestinationConfiguration struct {
  4882  	_ struct{} `type:"structure"`
  4883  
  4884  	// The IP address where contents of the media stream will be sent.
  4885  	//
  4886  	// DestinationIp is a required field
  4887  	DestinationIp *string `locationName:"destinationIp" type:"string" required:"true"`
  4888  
  4889  	// The port to use when the content of the media stream is distributed to the
  4890  	// output.
  4891  	//
  4892  	// DestinationPort is a required field
  4893  	DestinationPort *int64 `locationName:"destinationPort" type:"integer" required:"true"`
  4894  
  4895  	// The VPC interface that is used for the media stream associated with the output.
  4896  	//
  4897  	// Interface is a required field
  4898  	Interface *Interface `locationName:"interface" type:"structure" required:"true"`
  4899  
  4900  	// The IP address that the receiver requires in order to establish a connection
  4901  	// with the flow. This value is represented by the elastic network interface
  4902  	// IP address of the VPC. This field applies only to outputs that use the CDI
  4903  	// or ST 2110 JPEG XS protocol.
  4904  	//
  4905  	// OutboundIp is a required field
  4906  	OutboundIp *string `locationName:"outboundIp" type:"string" required:"true"`
  4907  }
  4908  
  4909  // String returns the string representation.
  4910  //
  4911  // API parameter values that are decorated as "sensitive" in the API will not
  4912  // be included in the string output. The member name will be present, but the
  4913  // value will be replaced with "sensitive".
  4914  func (s DestinationConfiguration) String() string {
  4915  	return awsutil.Prettify(s)
  4916  }
  4917  
  4918  // GoString returns the string representation.
  4919  //
  4920  // API parameter values that are decorated as "sensitive" in the API will not
  4921  // be included in the string output. The member name will be present, but the
  4922  // value will be replaced with "sensitive".
  4923  func (s DestinationConfiguration) GoString() string {
  4924  	return s.String()
  4925  }
  4926  
  4927  // SetDestinationIp sets the DestinationIp field's value.
  4928  func (s *DestinationConfiguration) SetDestinationIp(v string) *DestinationConfiguration {
  4929  	s.DestinationIp = &v
  4930  	return s
  4931  }
  4932  
  4933  // SetDestinationPort sets the DestinationPort field's value.
  4934  func (s *DestinationConfiguration) SetDestinationPort(v int64) *DestinationConfiguration {
  4935  	s.DestinationPort = &v
  4936  	return s
  4937  }
  4938  
  4939  // SetInterface sets the Interface field's value.
  4940  func (s *DestinationConfiguration) SetInterface(v *Interface) *DestinationConfiguration {
  4941  	s.Interface = v
  4942  	return s
  4943  }
  4944  
  4945  // SetOutboundIp sets the OutboundIp field's value.
  4946  func (s *DestinationConfiguration) SetOutboundIp(v string) *DestinationConfiguration {
  4947  	s.OutboundIp = &v
  4948  	return s
  4949  }
  4950  
  4951  // The transport parameters that you want to associate with an outbound media
  4952  // stream.
  4953  type DestinationConfigurationRequest struct {
  4954  	_ struct{} `type:"structure"`
  4955  
  4956  	// The IP address where you want MediaConnect to send contents of the media
  4957  	// stream.
  4958  	//
  4959  	// DestinationIp is a required field
  4960  	DestinationIp *string `locationName:"destinationIp" type:"string" required:"true"`
  4961  
  4962  	// The port that you want MediaConnect to use when it distributes the media
  4963  	// stream to the output.
  4964  	//
  4965  	// DestinationPort is a required field
  4966  	DestinationPort *int64 `locationName:"destinationPort" type:"integer" required:"true"`
  4967  
  4968  	// The VPC interface that you want to use for the media stream associated with
  4969  	// the output.
  4970  	//
  4971  	// Interface is a required field
  4972  	Interface *InterfaceRequest `locationName:"interface" type:"structure" required:"true"`
  4973  }
  4974  
  4975  // String returns the string representation.
  4976  //
  4977  // API parameter values that are decorated as "sensitive" in the API will not
  4978  // be included in the string output. The member name will be present, but the
  4979  // value will be replaced with "sensitive".
  4980  func (s DestinationConfigurationRequest) String() string {
  4981  	return awsutil.Prettify(s)
  4982  }
  4983  
  4984  // GoString returns the string representation.
  4985  //
  4986  // API parameter values that are decorated as "sensitive" in the API will not
  4987  // be included in the string output. The member name will be present, but the
  4988  // value will be replaced with "sensitive".
  4989  func (s DestinationConfigurationRequest) GoString() string {
  4990  	return s.String()
  4991  }
  4992  
  4993  // Validate inspects the fields of the type to determine if they are valid.
  4994  func (s *DestinationConfigurationRequest) Validate() error {
  4995  	invalidParams := request.ErrInvalidParams{Context: "DestinationConfigurationRequest"}
  4996  	if s.DestinationIp == nil {
  4997  		invalidParams.Add(request.NewErrParamRequired("DestinationIp"))
  4998  	}
  4999  	if s.DestinationPort == nil {
  5000  		invalidParams.Add(request.NewErrParamRequired("DestinationPort"))
  5001  	}
  5002  	if s.Interface == nil {
  5003  		invalidParams.Add(request.NewErrParamRequired("Interface"))
  5004  	}
  5005  	if s.Interface != nil {
  5006  		if err := s.Interface.Validate(); err != nil {
  5007  			invalidParams.AddNested("Interface", err.(request.ErrInvalidParams))
  5008  		}
  5009  	}
  5010  
  5011  	if invalidParams.Len() > 0 {
  5012  		return invalidParams
  5013  	}
  5014  	return nil
  5015  }
  5016  
  5017  // SetDestinationIp sets the DestinationIp field's value.
  5018  func (s *DestinationConfigurationRequest) SetDestinationIp(v string) *DestinationConfigurationRequest {
  5019  	s.DestinationIp = &v
  5020  	return s
  5021  }
  5022  
  5023  // SetDestinationPort sets the DestinationPort field's value.
  5024  func (s *DestinationConfigurationRequest) SetDestinationPort(v int64) *DestinationConfigurationRequest {
  5025  	s.DestinationPort = &v
  5026  	return s
  5027  }
  5028  
  5029  // SetInterface sets the Interface field's value.
  5030  func (s *DestinationConfigurationRequest) SetInterface(v *InterfaceRequest) *DestinationConfigurationRequest {
  5031  	s.Interface = v
  5032  	return s
  5033  }
  5034  
  5035  // A collection of parameters that determine how MediaConnect will convert the
  5036  // content. These fields only apply to outputs on flows that have a CDI source.
  5037  type EncodingParameters struct {
  5038  	_ struct{} `type:"structure"`
  5039  
  5040  	// A value that is used to calculate compression for an output. The bitrate
  5041  	// of the output is calculated as follows: Output bitrate = (1 / compressionFactor)
  5042  	// * (source bitrate) This property only applies to outputs that use the ST
  5043  	// 2110 JPEG XS protocol, with a flow source that uses the CDI protocol. Valid
  5044  	// values are floating point numbers in the range of 3.0 to 10.0, inclusive.
  5045  	//
  5046  	// CompressionFactor is a required field
  5047  	CompressionFactor *float64 `locationName:"compressionFactor" type:"double" required:"true"`
  5048  
  5049  	// A setting on the encoder that drives compression settings. This property
  5050  	// only applies to video media streams associated with outputs that use the
  5051  	// ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol.
  5052  	//
  5053  	// EncoderProfile is a required field
  5054  	EncoderProfile *string `locationName:"encoderProfile" type:"string" required:"true" enum:"EncoderProfile"`
  5055  }
  5056  
  5057  // String returns the string representation.
  5058  //
  5059  // API parameter values that are decorated as "sensitive" in the API will not
  5060  // be included in the string output. The member name will be present, but the
  5061  // value will be replaced with "sensitive".
  5062  func (s EncodingParameters) String() string {
  5063  	return awsutil.Prettify(s)
  5064  }
  5065  
  5066  // GoString returns the string representation.
  5067  //
  5068  // API parameter values that are decorated as "sensitive" in the API will not
  5069  // be included in the string output. The member name will be present, but the
  5070  // value will be replaced with "sensitive".
  5071  func (s EncodingParameters) GoString() string {
  5072  	return s.String()
  5073  }
  5074  
  5075  // SetCompressionFactor sets the CompressionFactor field's value.
  5076  func (s *EncodingParameters) SetCompressionFactor(v float64) *EncodingParameters {
  5077  	s.CompressionFactor = &v
  5078  	return s
  5079  }
  5080  
  5081  // SetEncoderProfile sets the EncoderProfile field's value.
  5082  func (s *EncodingParameters) SetEncoderProfile(v string) *EncodingParameters {
  5083  	s.EncoderProfile = &v
  5084  	return s
  5085  }
  5086  
  5087  // A collection of parameters that determine how MediaConnect will convert the
  5088  // content. These fields only apply to outputs on flows that have a CDI source.
  5089  type EncodingParametersRequest struct {
  5090  	_ struct{} `type:"structure"`
  5091  
  5092  	// A value that is used to calculate compression for an output. The bitrate
  5093  	// of the output is calculated as follows: Output bitrate = (1 / compressionFactor)
  5094  	// * (source bitrate) This property only applies to outputs that use the ST
  5095  	// 2110 JPEG XS protocol, with a flow source that uses the CDI protocol. Valid
  5096  	// values are floating point numbers in the range of 3.0 to 10.0, inclusive.
  5097  	//
  5098  	// CompressionFactor is a required field
  5099  	CompressionFactor *float64 `locationName:"compressionFactor" type:"double" required:"true"`
  5100  
  5101  	// A setting on the encoder that drives compression settings. This property
  5102  	// only applies to video media streams associated with outputs that use the
  5103  	// ST 2110 JPEG XS protocol, if at least one source on the flow uses the CDI
  5104  	// protocol.
  5105  	//
  5106  	// EncoderProfile is a required field
  5107  	EncoderProfile *string `locationName:"encoderProfile" type:"string" required:"true" enum:"EncoderProfile"`
  5108  }
  5109  
  5110  // String returns the string representation.
  5111  //
  5112  // API parameter values that are decorated as "sensitive" in the API will not
  5113  // be included in the string output. The member name will be present, but the
  5114  // value will be replaced with "sensitive".
  5115  func (s EncodingParametersRequest) String() string {
  5116  	return awsutil.Prettify(s)
  5117  }
  5118  
  5119  // GoString returns the string representation.
  5120  //
  5121  // API parameter values that are decorated as "sensitive" in the API will not
  5122  // be included in the string output. The member name will be present, but the
  5123  // value will be replaced with "sensitive".
  5124  func (s EncodingParametersRequest) GoString() string {
  5125  	return s.String()
  5126  }
  5127  
  5128  // Validate inspects the fields of the type to determine if they are valid.
  5129  func (s *EncodingParametersRequest) Validate() error {
  5130  	invalidParams := request.ErrInvalidParams{Context: "EncodingParametersRequest"}
  5131  	if s.CompressionFactor == nil {
  5132  		invalidParams.Add(request.NewErrParamRequired("CompressionFactor"))
  5133  	}
  5134  	if s.EncoderProfile == nil {
  5135  		invalidParams.Add(request.NewErrParamRequired("EncoderProfile"))
  5136  	}
  5137  
  5138  	if invalidParams.Len() > 0 {
  5139  		return invalidParams
  5140  	}
  5141  	return nil
  5142  }
  5143  
  5144  // SetCompressionFactor sets the CompressionFactor field's value.
  5145  func (s *EncodingParametersRequest) SetCompressionFactor(v float64) *EncodingParametersRequest {
  5146  	s.CompressionFactor = &v
  5147  	return s
  5148  }
  5149  
  5150  // SetEncoderProfile sets the EncoderProfile field's value.
  5151  func (s *EncodingParametersRequest) SetEncoderProfile(v string) *EncodingParametersRequest {
  5152  	s.EncoderProfile = &v
  5153  	return s
  5154  }
  5155  
  5156  // Information about the encryption of the flow.
  5157  type Encryption struct {
  5158  	_ struct{} `type:"structure"`
  5159  
  5160  	// The type of algorithm that is used for the encryption (such as aes128, aes192,
  5161  	// or aes256).
  5162  	Algorithm *string `locationName:"algorithm" type:"string" enum:"Algorithm"`
  5163  
  5164  	// A 128-bit, 16-byte hex value represented by a 32-character string, to be
  5165  	// used with the key for encrypting content. This parameter is not valid for
  5166  	// static key encryption.
  5167  	ConstantInitializationVector *string `locationName:"constantInitializationVector" type:"string"`
  5168  
  5169  	// The value of one of the devices that you configured with your digital rights
  5170  	// management (DRM) platform key provider. This parameter is required for SPEKE
  5171  	// encryption and is not valid for static key encryption.
  5172  	DeviceId *string `locationName:"deviceId" type:"string"`
  5173  
  5174  	// The type of key that is used for the encryption. If no keyType is provided,
  5175  	// the service will use the default setting (static-key).
  5176  	KeyType *string `locationName:"keyType" type:"string" enum:"KeyType"`
  5177  
  5178  	// The AWS Region that the API Gateway proxy endpoint was created in. This parameter
  5179  	// is required for SPEKE encryption and is not valid for static key encryption.
  5180  	Region *string `locationName:"region" type:"string"`
  5181  
  5182  	// An identifier for the content. The service sends this value to the key server
  5183  	// to identify the current endpoint. The resource ID is also known as the content
  5184  	// ID. This parameter is required for SPEKE encryption and is not valid for
  5185  	// static key encryption.
  5186  	ResourceId *string `locationName:"resourceId" type:"string"`
  5187  
  5188  	// The ARN of the role that you created during setup (when you set up AWS Elemental
  5189  	// MediaConnect as a trusted entity).
  5190  	//
  5191  	// RoleArn is a required field
  5192  	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
  5193  
  5194  	// The ARN of the secret that you created in AWS Secrets Manager to store the
  5195  	// encryption key. This parameter is required for static key encryption and
  5196  	// is not valid for SPEKE encryption.
  5197  	SecretArn *string `locationName:"secretArn" type:"string"`
  5198  
  5199  	// The URL from the API Gateway proxy that you set up to talk to your key server.
  5200  	// This parameter is required for SPEKE encryption and is not valid for static
  5201  	// key encryption.
  5202  	Url *string `locationName:"url" type:"string"`
  5203  }
  5204  
  5205  // String returns the string representation.
  5206  //
  5207  // API parameter values that are decorated as "sensitive" in the API will not
  5208  // be included in the string output. The member name will be present, but the
  5209  // value will be replaced with "sensitive".
  5210  func (s Encryption) String() string {
  5211  	return awsutil.Prettify(s)
  5212  }
  5213  
  5214  // GoString returns the string representation.
  5215  //
  5216  // API parameter values that are decorated as "sensitive" in the API will not
  5217  // be included in the string output. The member name will be present, but the
  5218  // value will be replaced with "sensitive".
  5219  func (s Encryption) GoString() string {
  5220  	return s.String()
  5221  }
  5222  
  5223  // Validate inspects the fields of the type to determine if they are valid.
  5224  func (s *Encryption) Validate() error {
  5225  	invalidParams := request.ErrInvalidParams{Context: "Encryption"}
  5226  	if s.RoleArn == nil {
  5227  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  5228  	}
  5229  
  5230  	if invalidParams.Len() > 0 {
  5231  		return invalidParams
  5232  	}
  5233  	return nil
  5234  }
  5235  
  5236  // SetAlgorithm sets the Algorithm field's value.
  5237  func (s *Encryption) SetAlgorithm(v string) *Encryption {
  5238  	s.Algorithm = &v
  5239  	return s
  5240  }
  5241  
  5242  // SetConstantInitializationVector sets the ConstantInitializationVector field's value.
  5243  func (s *Encryption) SetConstantInitializationVector(v string) *Encryption {
  5244  	s.ConstantInitializationVector = &v
  5245  	return s
  5246  }
  5247  
  5248  // SetDeviceId sets the DeviceId field's value.
  5249  func (s *Encryption) SetDeviceId(v string) *Encryption {
  5250  	s.DeviceId = &v
  5251  	return s
  5252  }
  5253  
  5254  // SetKeyType sets the KeyType field's value.
  5255  func (s *Encryption) SetKeyType(v string) *Encryption {
  5256  	s.KeyType = &v
  5257  	return s
  5258  }
  5259  
  5260  // SetRegion sets the Region field's value.
  5261  func (s *Encryption) SetRegion(v string) *Encryption {
  5262  	s.Region = &v
  5263  	return s
  5264  }
  5265  
  5266  // SetResourceId sets the ResourceId field's value.
  5267  func (s *Encryption) SetResourceId(v string) *Encryption {
  5268  	s.ResourceId = &v
  5269  	return s
  5270  }
  5271  
  5272  // SetRoleArn sets the RoleArn field's value.
  5273  func (s *Encryption) SetRoleArn(v string) *Encryption {
  5274  	s.RoleArn = &v
  5275  	return s
  5276  }
  5277  
  5278  // SetSecretArn sets the SecretArn field's value.
  5279  func (s *Encryption) SetSecretArn(v string) *Encryption {
  5280  	s.SecretArn = &v
  5281  	return s
  5282  }
  5283  
  5284  // SetUrl sets the Url field's value.
  5285  func (s *Encryption) SetUrl(v string) *Encryption {
  5286  	s.Url = &v
  5287  	return s
  5288  }
  5289  
  5290  // The settings for a flow entitlement.
  5291  type Entitlement struct {
  5292  	_ struct{} `type:"structure"`
  5293  
  5294  	// Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
  5295  	DataTransferSubscriberFeePercent *int64 `locationName:"dataTransferSubscriberFeePercent" type:"integer"`
  5296  
  5297  	// A description of the entitlement.
  5298  	Description *string `locationName:"description" type:"string"`
  5299  
  5300  	// The type of encryption that will be used on the output that is associated
  5301  	// with this entitlement.
  5302  	Encryption *Encryption `locationName:"encryption" type:"structure"`
  5303  
  5304  	// The ARN of the entitlement.
  5305  	//
  5306  	// EntitlementArn is a required field
  5307  	EntitlementArn *string `locationName:"entitlementArn" type:"string" required:"true"`
  5308  
  5309  	// An indication of whether the entitlement is enabled.
  5310  	EntitlementStatus *string `locationName:"entitlementStatus" type:"string" enum:"EntitlementStatus"`
  5311  
  5312  	// The name of the entitlement.
  5313  	//
  5314  	// Name is a required field
  5315  	Name *string `locationName:"name" type:"string" required:"true"`
  5316  
  5317  	// The AWS account IDs that you want to share your content with. The receiving
  5318  	// accounts (subscribers) will be allowed to create their own flow using your
  5319  	// content as the source.
  5320  	//
  5321  	// Subscribers is a required field
  5322  	Subscribers []*string `locationName:"subscribers" type:"list" required:"true"`
  5323  }
  5324  
  5325  // String returns the string representation.
  5326  //
  5327  // API parameter values that are decorated as "sensitive" in the API will not
  5328  // be included in the string output. The member name will be present, but the
  5329  // value will be replaced with "sensitive".
  5330  func (s Entitlement) String() string {
  5331  	return awsutil.Prettify(s)
  5332  }
  5333  
  5334  // GoString returns the string representation.
  5335  //
  5336  // API parameter values that are decorated as "sensitive" in the API will not
  5337  // be included in the string output. The member name will be present, but the
  5338  // value will be replaced with "sensitive".
  5339  func (s Entitlement) GoString() string {
  5340  	return s.String()
  5341  }
  5342  
  5343  // SetDataTransferSubscriberFeePercent sets the DataTransferSubscriberFeePercent field's value.
  5344  func (s *Entitlement) SetDataTransferSubscriberFeePercent(v int64) *Entitlement {
  5345  	s.DataTransferSubscriberFeePercent = &v
  5346  	return s
  5347  }
  5348  
  5349  // SetDescription sets the Description field's value.
  5350  func (s *Entitlement) SetDescription(v string) *Entitlement {
  5351  	s.Description = &v
  5352  	return s
  5353  }
  5354  
  5355  // SetEncryption sets the Encryption field's value.
  5356  func (s *Entitlement) SetEncryption(v *Encryption) *Entitlement {
  5357  	s.Encryption = v
  5358  	return s
  5359  }
  5360  
  5361  // SetEntitlementArn sets the EntitlementArn field's value.
  5362  func (s *Entitlement) SetEntitlementArn(v string) *Entitlement {
  5363  	s.EntitlementArn = &v
  5364  	return s
  5365  }
  5366  
  5367  // SetEntitlementStatus sets the EntitlementStatus field's value.
  5368  func (s *Entitlement) SetEntitlementStatus(v string) *Entitlement {
  5369  	s.EntitlementStatus = &v
  5370  	return s
  5371  }
  5372  
  5373  // SetName sets the Name field's value.
  5374  func (s *Entitlement) SetName(v string) *Entitlement {
  5375  	s.Name = &v
  5376  	return s
  5377  }
  5378  
  5379  // SetSubscribers sets the Subscribers field's value.
  5380  func (s *Entitlement) SetSubscribers(v []*string) *Entitlement {
  5381  	s.Subscribers = v
  5382  	return s
  5383  }
  5384  
  5385  // The settings for source failover
  5386  type FailoverConfig struct {
  5387  	_ struct{} `type:"structure"`
  5388  
  5389  	// The type of failover you choose for this flow. MERGE combines the source
  5390  	// streams into a single stream, allowing graceful recovery from any single-source
  5391  	// loss. FAILOVER allows switching between different streams.
  5392  	FailoverMode *string `locationName:"failoverMode" type:"string" enum:"FailoverMode"`
  5393  
  5394  	// Search window time to look for dash-7 packets
  5395  	RecoveryWindow *int64 `locationName:"recoveryWindow" type:"integer"`
  5396  
  5397  	// The priority you want to assign to a source. You can have a primary stream
  5398  	// and a backup stream or two equally prioritized streams.
  5399  	SourcePriority *SourcePriority `locationName:"sourcePriority" type:"structure"`
  5400  
  5401  	State *string `locationName:"state" type:"string" enum:"State"`
  5402  }
  5403  
  5404  // String returns the string representation.
  5405  //
  5406  // API parameter values that are decorated as "sensitive" in the API will not
  5407  // be included in the string output. The member name will be present, but the
  5408  // value will be replaced with "sensitive".
  5409  func (s FailoverConfig) String() string {
  5410  	return awsutil.Prettify(s)
  5411  }
  5412  
  5413  // GoString returns the string representation.
  5414  //
  5415  // API parameter values that are decorated as "sensitive" in the API will not
  5416  // be included in the string output. The member name will be present, but the
  5417  // value will be replaced with "sensitive".
  5418  func (s FailoverConfig) GoString() string {
  5419  	return s.String()
  5420  }
  5421  
  5422  // SetFailoverMode sets the FailoverMode field's value.
  5423  func (s *FailoverConfig) SetFailoverMode(v string) *FailoverConfig {
  5424  	s.FailoverMode = &v
  5425  	return s
  5426  }
  5427  
  5428  // SetRecoveryWindow sets the RecoveryWindow field's value.
  5429  func (s *FailoverConfig) SetRecoveryWindow(v int64) *FailoverConfig {
  5430  	s.RecoveryWindow = &v
  5431  	return s
  5432  }
  5433  
  5434  // SetSourcePriority sets the SourcePriority field's value.
  5435  func (s *FailoverConfig) SetSourcePriority(v *SourcePriority) *FailoverConfig {
  5436  	s.SourcePriority = v
  5437  	return s
  5438  }
  5439  
  5440  // SetState sets the State field's value.
  5441  func (s *FailoverConfig) SetState(v string) *FailoverConfig {
  5442  	s.State = &v
  5443  	return s
  5444  }
  5445  
  5446  // The settings for a flow, including its source, outputs, and entitlements.
  5447  type Flow struct {
  5448  	_ struct{} `type:"structure"`
  5449  
  5450  	// The Availability Zone that you want to create the flow in. These options
  5451  	// are limited to the Availability Zones within the current AWS.
  5452  	//
  5453  	// AvailabilityZone is a required field
  5454  	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  5455  
  5456  	// A description of the flow. This value is not used or seen outside of the
  5457  	// current AWS Elemental MediaConnect account.
  5458  	Description *string `locationName:"description" type:"string"`
  5459  
  5460  	// The IP address from which video will be sent to output destinations.
  5461  	EgressIp *string `locationName:"egressIp" type:"string"`
  5462  
  5463  	// The entitlements in this flow.
  5464  	//
  5465  	// Entitlements is a required field
  5466  	Entitlements []*Entitlement `locationName:"entitlements" type:"list" required:"true"`
  5467  
  5468  	// The Amazon Resource Name (ARN), a unique identifier for any AWS resource,
  5469  	// of the flow.
  5470  	//
  5471  	// FlowArn is a required field
  5472  	FlowArn *string `locationName:"flowArn" type:"string" required:"true"`
  5473  
  5474  	// The media streams that are associated with the flow. After you associate
  5475  	// a media stream with a source, you can also associate it with outputs on the
  5476  	// flow.
  5477  	MediaStreams []*MediaStream `locationName:"mediaStreams" type:"list"`
  5478  
  5479  	// The name of the flow.
  5480  	//
  5481  	// Name is a required field
  5482  	Name *string `locationName:"name" type:"string" required:"true"`
  5483  
  5484  	// The outputs in this flow.
  5485  	//
  5486  	// Outputs is a required field
  5487  	Outputs []*Output `locationName:"outputs" type:"list" required:"true"`
  5488  
  5489  	// The settings for the source of the flow.
  5490  	//
  5491  	// Source is a required field
  5492  	Source *Source `locationName:"source" type:"structure" required:"true"`
  5493  
  5494  	// The settings for source failover
  5495  	SourceFailoverConfig *FailoverConfig `locationName:"sourceFailoverConfig" type:"structure"`
  5496  
  5497  	Sources []*Source `locationName:"sources" type:"list"`
  5498  
  5499  	// The current status of the flow.
  5500  	//
  5501  	// Status is a required field
  5502  	Status *string `locationName:"status" type:"string" required:"true" enum:"Status"`
  5503  
  5504  	// The VPC Interfaces for this flow.
  5505  	VpcInterfaces []*VpcInterface `locationName:"vpcInterfaces" type:"list"`
  5506  }
  5507  
  5508  // String returns the string representation.
  5509  //
  5510  // API parameter values that are decorated as "sensitive" in the API will not
  5511  // be included in the string output. The member name will be present, but the
  5512  // value will be replaced with "sensitive".
  5513  func (s Flow) String() string {
  5514  	return awsutil.Prettify(s)
  5515  }
  5516  
  5517  // GoString returns the string representation.
  5518  //
  5519  // API parameter values that are decorated as "sensitive" in the API will not
  5520  // be included in the string output. The member name will be present, but the
  5521  // value will be replaced with "sensitive".
  5522  func (s Flow) GoString() string {
  5523  	return s.String()
  5524  }
  5525  
  5526  // SetAvailabilityZone sets the AvailabilityZone field's value.
  5527  func (s *Flow) SetAvailabilityZone(v string) *Flow {
  5528  	s.AvailabilityZone = &v
  5529  	return s
  5530  }
  5531  
  5532  // SetDescription sets the Description field's value.
  5533  func (s *Flow) SetDescription(v string) *Flow {
  5534  	s.Description = &v
  5535  	return s
  5536  }
  5537  
  5538  // SetEgressIp sets the EgressIp field's value.
  5539  func (s *Flow) SetEgressIp(v string) *Flow {
  5540  	s.EgressIp = &v
  5541  	return s
  5542  }
  5543  
  5544  // SetEntitlements sets the Entitlements field's value.
  5545  func (s *Flow) SetEntitlements(v []*Entitlement) *Flow {
  5546  	s.Entitlements = v
  5547  	return s
  5548  }
  5549  
  5550  // SetFlowArn sets the FlowArn field's value.
  5551  func (s *Flow) SetFlowArn(v string) *Flow {
  5552  	s.FlowArn = &v
  5553  	return s
  5554  }
  5555  
  5556  // SetMediaStreams sets the MediaStreams field's value.
  5557  func (s *Flow) SetMediaStreams(v []*MediaStream) *Flow {
  5558  	s.MediaStreams = v
  5559  	return s
  5560  }
  5561  
  5562  // SetName sets the Name field's value.
  5563  func (s *Flow) SetName(v string) *Flow {
  5564  	s.Name = &v
  5565  	return s
  5566  }
  5567  
  5568  // SetOutputs sets the Outputs field's value.
  5569  func (s *Flow) SetOutputs(v []*Output) *Flow {
  5570  	s.Outputs = v
  5571  	return s
  5572  }
  5573  
  5574  // SetSource sets the Source field's value.
  5575  func (s *Flow) SetSource(v *Source) *Flow {
  5576  	s.Source = v
  5577  	return s
  5578  }
  5579  
  5580  // SetSourceFailoverConfig sets the SourceFailoverConfig field's value.
  5581  func (s *Flow) SetSourceFailoverConfig(v *FailoverConfig) *Flow {
  5582  	s.SourceFailoverConfig = v
  5583  	return s
  5584  }
  5585  
  5586  // SetSources sets the Sources field's value.
  5587  func (s *Flow) SetSources(v []*Source) *Flow {
  5588  	s.Sources = v
  5589  	return s
  5590  }
  5591  
  5592  // SetStatus sets the Status field's value.
  5593  func (s *Flow) SetStatus(v string) *Flow {
  5594  	s.Status = &v
  5595  	return s
  5596  }
  5597  
  5598  // SetVpcInterfaces sets the VpcInterfaces field's value.
  5599  func (s *Flow) SetVpcInterfaces(v []*VpcInterface) *Flow {
  5600  	s.VpcInterfaces = v
  5601  	return s
  5602  }
  5603  
  5604  // FMTP
  5605  type Fmtp struct {
  5606  	_ struct{} `type:"structure"`
  5607  
  5608  	// The format of the audio channel.
  5609  	ChannelOrder *string `locationName:"channelOrder" type:"string"`
  5610  
  5611  	// The format that is used for the representation of color.
  5612  	Colorimetry *string `locationName:"colorimetry" type:"string" enum:"Colorimetry"`
  5613  
  5614  	// The frame rate for the video stream, in frames/second. For example: 60000/1001.
  5615  	// If you specify a whole number, MediaConnect uses a ratio of N/1. For example,
  5616  	// if you specify 60, MediaConnect uses 60/1 as the exactFramerate.
  5617  	ExactFramerate *string `locationName:"exactFramerate" type:"string"`
  5618  
  5619  	// The pixel aspect ratio (PAR) of the video.
  5620  	Par *string `locationName:"par" type:"string"`
  5621  
  5622  	// The encoding range of the video.
  5623  	Range *string `locationName:"range" type:"string" enum:"Range"`
  5624  
  5625  	// The type of compression that was used to smooth the video’s appearance
  5626  	ScanMode *string `locationName:"scanMode" type:"string" enum:"ScanMode"`
  5627  
  5628  	// The transfer characteristic system (TCS) that is used in the video.
  5629  	Tcs *string `locationName:"tcs" type:"string" enum:"Tcs"`
  5630  }
  5631  
  5632  // String returns the string representation.
  5633  //
  5634  // API parameter values that are decorated as "sensitive" in the API will not
  5635  // be included in the string output. The member name will be present, but the
  5636  // value will be replaced with "sensitive".
  5637  func (s Fmtp) String() string {
  5638  	return awsutil.Prettify(s)
  5639  }
  5640  
  5641  // GoString returns the string representation.
  5642  //
  5643  // API parameter values that are decorated as "sensitive" in the API will not
  5644  // be included in the string output. The member name will be present, but the
  5645  // value will be replaced with "sensitive".
  5646  func (s Fmtp) GoString() string {
  5647  	return s.String()
  5648  }
  5649  
  5650  // SetChannelOrder sets the ChannelOrder field's value.
  5651  func (s *Fmtp) SetChannelOrder(v string) *Fmtp {
  5652  	s.ChannelOrder = &v
  5653  	return s
  5654  }
  5655  
  5656  // SetColorimetry sets the Colorimetry field's value.
  5657  func (s *Fmtp) SetColorimetry(v string) *Fmtp {
  5658  	s.Colorimetry = &v
  5659  	return s
  5660  }
  5661  
  5662  // SetExactFramerate sets the ExactFramerate field's value.
  5663  func (s *Fmtp) SetExactFramerate(v string) *Fmtp {
  5664  	s.ExactFramerate = &v
  5665  	return s
  5666  }
  5667  
  5668  // SetPar sets the Par field's value.
  5669  func (s *Fmtp) SetPar(v string) *Fmtp {
  5670  	s.Par = &v
  5671  	return s
  5672  }
  5673  
  5674  // SetRange sets the Range field's value.
  5675  func (s *Fmtp) SetRange(v string) *Fmtp {
  5676  	s.Range = &v
  5677  	return s
  5678  }
  5679  
  5680  // SetScanMode sets the ScanMode field's value.
  5681  func (s *Fmtp) SetScanMode(v string) *Fmtp {
  5682  	s.ScanMode = &v
  5683  	return s
  5684  }
  5685  
  5686  // SetTcs sets the Tcs field's value.
  5687  func (s *Fmtp) SetTcs(v string) *Fmtp {
  5688  	s.Tcs = &v
  5689  	return s
  5690  }
  5691  
  5692  // The settings that you want to use to define the media stream.
  5693  type FmtpRequest struct {
  5694  	_ struct{} `type:"structure"`
  5695  
  5696  	// The format of the audio channel.
  5697  	ChannelOrder *string `locationName:"channelOrder" type:"string"`
  5698  
  5699  	// The format that is used for the representation of color.
  5700  	Colorimetry *string `locationName:"colorimetry" type:"string" enum:"Colorimetry"`
  5701  
  5702  	// The frame rate for the video stream, in frames/second. For example: 60000/1001.
  5703  	// If you specify a whole number, MediaConnect uses a ratio of N/1. For example,
  5704  	// if you specify 60, MediaConnect uses 60/1 as the exactFramerate.
  5705  	ExactFramerate *string `locationName:"exactFramerate" type:"string"`
  5706  
  5707  	// The pixel aspect ratio (PAR) of the video.
  5708  	Par *string `locationName:"par" type:"string"`
  5709  
  5710  	// The encoding range of the video.
  5711  	Range *string `locationName:"range" type:"string" enum:"Range"`
  5712  
  5713  	// The type of compression that was used to smooth the video’s appearance.
  5714  	ScanMode *string `locationName:"scanMode" type:"string" enum:"ScanMode"`
  5715  
  5716  	// The transfer characteristic system (TCS) that is used in the video.
  5717  	Tcs *string `locationName:"tcs" type:"string" enum:"Tcs"`
  5718  }
  5719  
  5720  // String returns the string representation.
  5721  //
  5722  // API parameter values that are decorated as "sensitive" in the API will not
  5723  // be included in the string output. The member name will be present, but the
  5724  // value will be replaced with "sensitive".
  5725  func (s FmtpRequest) String() string {
  5726  	return awsutil.Prettify(s)
  5727  }
  5728  
  5729  // GoString returns the string representation.
  5730  //
  5731  // API parameter values that are decorated as "sensitive" in the API will not
  5732  // be included in the string output. The member name will be present, but the
  5733  // value will be replaced with "sensitive".
  5734  func (s FmtpRequest) GoString() string {
  5735  	return s.String()
  5736  }
  5737  
  5738  // SetChannelOrder sets the ChannelOrder field's value.
  5739  func (s *FmtpRequest) SetChannelOrder(v string) *FmtpRequest {
  5740  	s.ChannelOrder = &v
  5741  	return s
  5742  }
  5743  
  5744  // SetColorimetry sets the Colorimetry field's value.
  5745  func (s *FmtpRequest) SetColorimetry(v string) *FmtpRequest {
  5746  	s.Colorimetry = &v
  5747  	return s
  5748  }
  5749  
  5750  // SetExactFramerate sets the ExactFramerate field's value.
  5751  func (s *FmtpRequest) SetExactFramerate(v string) *FmtpRequest {
  5752  	s.ExactFramerate = &v
  5753  	return s
  5754  }
  5755  
  5756  // SetPar sets the Par field's value.
  5757  func (s *FmtpRequest) SetPar(v string) *FmtpRequest {
  5758  	s.Par = &v
  5759  	return s
  5760  }
  5761  
  5762  // SetRange sets the Range field's value.
  5763  func (s *FmtpRequest) SetRange(v string) *FmtpRequest {
  5764  	s.Range = &v
  5765  	return s
  5766  }
  5767  
  5768  // SetScanMode sets the ScanMode field's value.
  5769  func (s *FmtpRequest) SetScanMode(v string) *FmtpRequest {
  5770  	s.ScanMode = &v
  5771  	return s
  5772  }
  5773  
  5774  // SetTcs sets the Tcs field's value.
  5775  func (s *FmtpRequest) SetTcs(v string) *FmtpRequest {
  5776  	s.Tcs = &v
  5777  	return s
  5778  }
  5779  
  5780  // Exception raised by AWS Elemental MediaConnect. See the error message and
  5781  // documentation for the operation for more information on the cause of this
  5782  // exception.
  5783  type ForbiddenException struct {
  5784  	_            struct{}                  `type:"structure"`
  5785  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5786  
  5787  	Message_ *string `locationName:"message" type:"string"`
  5788  }
  5789  
  5790  // String returns the string representation.
  5791  //
  5792  // API parameter values that are decorated as "sensitive" in the API will not
  5793  // be included in the string output. The member name will be present, but the
  5794  // value will be replaced with "sensitive".
  5795  func (s ForbiddenException) String() string {
  5796  	return awsutil.Prettify(s)
  5797  }
  5798  
  5799  // GoString returns the string representation.
  5800  //
  5801  // API parameter values that are decorated as "sensitive" in the API will not
  5802  // be included in the string output. The member name will be present, but the
  5803  // value will be replaced with "sensitive".
  5804  func (s ForbiddenException) GoString() string {
  5805  	return s.String()
  5806  }
  5807  
  5808  func newErrorForbiddenException(v protocol.ResponseMetadata) error {
  5809  	return &ForbiddenException{
  5810  		RespMetadata: v,
  5811  	}
  5812  }
  5813  
  5814  // Code returns the exception type name.
  5815  func (s *ForbiddenException) Code() string {
  5816  	return "ForbiddenException"
  5817  }
  5818  
  5819  // Message returns the exception's message.
  5820  func (s *ForbiddenException) Message() string {
  5821  	if s.Message_ != nil {
  5822  		return *s.Message_
  5823  	}
  5824  	return ""
  5825  }
  5826  
  5827  // OrigErr always returns nil, satisfies awserr.Error interface.
  5828  func (s *ForbiddenException) OrigErr() error {
  5829  	return nil
  5830  }
  5831  
  5832  func (s *ForbiddenException) Error() string {
  5833  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5834  }
  5835  
  5836  // Status code returns the HTTP status code for the request's response error.
  5837  func (s *ForbiddenException) StatusCode() int {
  5838  	return s.RespMetadata.StatusCode
  5839  }
  5840  
  5841  // RequestID returns the service's response RequestID for request.
  5842  func (s *ForbiddenException) RequestID() string {
  5843  	return s.RespMetadata.RequestID
  5844  }
  5845  
  5846  // The entitlements that you want to grant on a flow.
  5847  type GrantEntitlementRequest struct {
  5848  	_ struct{} `type:"structure"`
  5849  
  5850  	// Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
  5851  	DataTransferSubscriberFeePercent *int64 `locationName:"dataTransferSubscriberFeePercent" type:"integer"`
  5852  
  5853  	// A description of the entitlement. This description appears only on the AWS
  5854  	// Elemental MediaConnect console and will not be seen by the subscriber or
  5855  	// end user.
  5856  	Description *string `locationName:"description" type:"string"`
  5857  
  5858  	// The type of encryption that will be used on the output that is associated
  5859  	// with this entitlement.
  5860  	Encryption *Encryption `locationName:"encryption" type:"structure"`
  5861  
  5862  	// An indication of whether the new entitlement should be enabled or disabled
  5863  	// as soon as it is created. If you don’t specify the entitlementStatus field
  5864  	// in your request, MediaConnect sets it to ENABLED.
  5865  	EntitlementStatus *string `locationName:"entitlementStatus" type:"string" enum:"EntitlementStatus"`
  5866  
  5867  	// The name of the entitlement. This value must be unique within the current
  5868  	// flow.
  5869  	Name *string `locationName:"name" type:"string"`
  5870  
  5871  	// The AWS account IDs that you want to share your content with. The receiving
  5872  	// accounts (subscribers) will be allowed to create their own flows using your
  5873  	// content as the source.
  5874  	//
  5875  	// Subscribers is a required field
  5876  	Subscribers []*string `locationName:"subscribers" type:"list" required:"true"`
  5877  }
  5878  
  5879  // String returns the string representation.
  5880  //
  5881  // API parameter values that are decorated as "sensitive" in the API will not
  5882  // be included in the string output. The member name will be present, but the
  5883  // value will be replaced with "sensitive".
  5884  func (s GrantEntitlementRequest) String() string {
  5885  	return awsutil.Prettify(s)
  5886  }
  5887  
  5888  // GoString returns the string representation.
  5889  //
  5890  // API parameter values that are decorated as "sensitive" in the API will not
  5891  // be included in the string output. The member name will be present, but the
  5892  // value will be replaced with "sensitive".
  5893  func (s GrantEntitlementRequest) GoString() string {
  5894  	return s.String()
  5895  }
  5896  
  5897  // Validate inspects the fields of the type to determine if they are valid.
  5898  func (s *GrantEntitlementRequest) Validate() error {
  5899  	invalidParams := request.ErrInvalidParams{Context: "GrantEntitlementRequest"}
  5900  	if s.Subscribers == nil {
  5901  		invalidParams.Add(request.NewErrParamRequired("Subscribers"))
  5902  	}
  5903  	if s.Encryption != nil {
  5904  		if err := s.Encryption.Validate(); err != nil {
  5905  			invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
  5906  		}
  5907  	}
  5908  
  5909  	if invalidParams.Len() > 0 {
  5910  		return invalidParams
  5911  	}
  5912  	return nil
  5913  }
  5914  
  5915  // SetDataTransferSubscriberFeePercent sets the DataTransferSubscriberFeePercent field's value.
  5916  func (s *GrantEntitlementRequest) SetDataTransferSubscriberFeePercent(v int64) *GrantEntitlementRequest {
  5917  	s.DataTransferSubscriberFeePercent = &v
  5918  	return s
  5919  }
  5920  
  5921  // SetDescription sets the Description field's value.
  5922  func (s *GrantEntitlementRequest) SetDescription(v string) *GrantEntitlementRequest {
  5923  	s.Description = &v
  5924  	return s
  5925  }
  5926  
  5927  // SetEncryption sets the Encryption field's value.
  5928  func (s *GrantEntitlementRequest) SetEncryption(v *Encryption) *GrantEntitlementRequest {
  5929  	s.Encryption = v
  5930  	return s
  5931  }
  5932  
  5933  // SetEntitlementStatus sets the EntitlementStatus field's value.
  5934  func (s *GrantEntitlementRequest) SetEntitlementStatus(v string) *GrantEntitlementRequest {
  5935  	s.EntitlementStatus = &v
  5936  	return s
  5937  }
  5938  
  5939  // SetName sets the Name field's value.
  5940  func (s *GrantEntitlementRequest) SetName(v string) *GrantEntitlementRequest {
  5941  	s.Name = &v
  5942  	return s
  5943  }
  5944  
  5945  // SetSubscribers sets the Subscribers field's value.
  5946  func (s *GrantEntitlementRequest) SetSubscribers(v []*string) *GrantEntitlementRequest {
  5947  	s.Subscribers = v
  5948  	return s
  5949  }
  5950  
  5951  // Exception raised by AWS Elemental MediaConnect. See the error message and
  5952  // documentation for the operation for more information on the cause of this
  5953  // exception.
  5954  type GrantFlowEntitlements420Exception struct {
  5955  	_            struct{}                  `type:"structure"`
  5956  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5957  
  5958  	Message_ *string `locationName:"message" type:"string"`
  5959  }
  5960  
  5961  // String returns the string representation.
  5962  //
  5963  // API parameter values that are decorated as "sensitive" in the API will not
  5964  // be included in the string output. The member name will be present, but the
  5965  // value will be replaced with "sensitive".
  5966  func (s GrantFlowEntitlements420Exception) String() string {
  5967  	return awsutil.Prettify(s)
  5968  }
  5969  
  5970  // GoString returns the string representation.
  5971  //
  5972  // API parameter values that are decorated as "sensitive" in the API will not
  5973  // be included in the string output. The member name will be present, but the
  5974  // value will be replaced with "sensitive".
  5975  func (s GrantFlowEntitlements420Exception) GoString() string {
  5976  	return s.String()
  5977  }
  5978  
  5979  func newErrorGrantFlowEntitlements420Exception(v protocol.ResponseMetadata) error {
  5980  	return &GrantFlowEntitlements420Exception{
  5981  		RespMetadata: v,
  5982  	}
  5983  }
  5984  
  5985  // Code returns the exception type name.
  5986  func (s *GrantFlowEntitlements420Exception) Code() string {
  5987  	return "GrantFlowEntitlements420Exception"
  5988  }
  5989  
  5990  // Message returns the exception's message.
  5991  func (s *GrantFlowEntitlements420Exception) Message() string {
  5992  	if s.Message_ != nil {
  5993  		return *s.Message_
  5994  	}
  5995  	return ""
  5996  }
  5997  
  5998  // OrigErr always returns nil, satisfies awserr.Error interface.
  5999  func (s *GrantFlowEntitlements420Exception) OrigErr() error {
  6000  	return nil
  6001  }
  6002  
  6003  func (s *GrantFlowEntitlements420Exception) Error() string {
  6004  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6005  }
  6006  
  6007  // Status code returns the HTTP status code for the request's response error.
  6008  func (s *GrantFlowEntitlements420Exception) StatusCode() int {
  6009  	return s.RespMetadata.StatusCode
  6010  }
  6011  
  6012  // RequestID returns the service's response RequestID for request.
  6013  func (s *GrantFlowEntitlements420Exception) RequestID() string {
  6014  	return s.RespMetadata.RequestID
  6015  }
  6016  
  6017  // Grants an entitlement on a flow.
  6018  type GrantFlowEntitlementsInput struct {
  6019  	_ struct{} `type:"structure"`
  6020  
  6021  	// The list of entitlements that you want to grant.
  6022  	//
  6023  	// Entitlements is a required field
  6024  	Entitlements []*GrantEntitlementRequest `locationName:"entitlements" type:"list" required:"true"`
  6025  
  6026  	// FlowArn is a required field
  6027  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  6028  }
  6029  
  6030  // String returns the string representation.
  6031  //
  6032  // API parameter values that are decorated as "sensitive" in the API will not
  6033  // be included in the string output. The member name will be present, but the
  6034  // value will be replaced with "sensitive".
  6035  func (s GrantFlowEntitlementsInput) String() string {
  6036  	return awsutil.Prettify(s)
  6037  }
  6038  
  6039  // GoString returns the string representation.
  6040  //
  6041  // API parameter values that are decorated as "sensitive" in the API will not
  6042  // be included in the string output. The member name will be present, but the
  6043  // value will be replaced with "sensitive".
  6044  func (s GrantFlowEntitlementsInput) GoString() string {
  6045  	return s.String()
  6046  }
  6047  
  6048  // Validate inspects the fields of the type to determine if they are valid.
  6049  func (s *GrantFlowEntitlementsInput) Validate() error {
  6050  	invalidParams := request.ErrInvalidParams{Context: "GrantFlowEntitlementsInput"}
  6051  	if s.Entitlements == nil {
  6052  		invalidParams.Add(request.NewErrParamRequired("Entitlements"))
  6053  	}
  6054  	if s.FlowArn == nil {
  6055  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  6056  	}
  6057  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  6058  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  6059  	}
  6060  	if s.Entitlements != nil {
  6061  		for i, v := range s.Entitlements {
  6062  			if v == nil {
  6063  				continue
  6064  			}
  6065  			if err := v.Validate(); err != nil {
  6066  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entitlements", i), err.(request.ErrInvalidParams))
  6067  			}
  6068  		}
  6069  	}
  6070  
  6071  	if invalidParams.Len() > 0 {
  6072  		return invalidParams
  6073  	}
  6074  	return nil
  6075  }
  6076  
  6077  // SetEntitlements sets the Entitlements field's value.
  6078  func (s *GrantFlowEntitlementsInput) SetEntitlements(v []*GrantEntitlementRequest) *GrantFlowEntitlementsInput {
  6079  	s.Entitlements = v
  6080  	return s
  6081  }
  6082  
  6083  // SetFlowArn sets the FlowArn field's value.
  6084  func (s *GrantFlowEntitlementsInput) SetFlowArn(v string) *GrantFlowEntitlementsInput {
  6085  	s.FlowArn = &v
  6086  	return s
  6087  }
  6088  
  6089  // The entitlements that were just granted.
  6090  type GrantFlowEntitlementsOutput struct {
  6091  	_ struct{} `type:"structure"`
  6092  
  6093  	// The entitlements that were just granted.
  6094  	Entitlements []*Entitlement `locationName:"entitlements" type:"list"`
  6095  
  6096  	// The ARN of the flow that these entitlements were granted to.
  6097  	FlowArn *string `locationName:"flowArn" type:"string"`
  6098  }
  6099  
  6100  // String returns the string representation.
  6101  //
  6102  // API parameter values that are decorated as "sensitive" in the API will not
  6103  // be included in the string output. The member name will be present, but the
  6104  // value will be replaced with "sensitive".
  6105  func (s GrantFlowEntitlementsOutput) String() string {
  6106  	return awsutil.Prettify(s)
  6107  }
  6108  
  6109  // GoString returns the string representation.
  6110  //
  6111  // API parameter values that are decorated as "sensitive" in the API will not
  6112  // be included in the string output. The member name will be present, but the
  6113  // value will be replaced with "sensitive".
  6114  func (s GrantFlowEntitlementsOutput) GoString() string {
  6115  	return s.String()
  6116  }
  6117  
  6118  // SetEntitlements sets the Entitlements field's value.
  6119  func (s *GrantFlowEntitlementsOutput) SetEntitlements(v []*Entitlement) *GrantFlowEntitlementsOutput {
  6120  	s.Entitlements = v
  6121  	return s
  6122  }
  6123  
  6124  // SetFlowArn sets the FlowArn field's value.
  6125  func (s *GrantFlowEntitlementsOutput) SetFlowArn(v string) *GrantFlowEntitlementsOutput {
  6126  	s.FlowArn = &v
  6127  	return s
  6128  }
  6129  
  6130  // The transport parameters that are associated with an incoming media stream.
  6131  type InputConfiguration struct {
  6132  	_ struct{} `type:"structure"`
  6133  
  6134  	// The IP address that the flow listens on for incoming content for a media
  6135  	// stream.
  6136  	//
  6137  	// InputIp is a required field
  6138  	InputIp *string `locationName:"inputIp" type:"string" required:"true"`
  6139  
  6140  	// The port that the flow listens on for an incoming media stream.
  6141  	//
  6142  	// InputPort is a required field
  6143  	InputPort *int64 `locationName:"inputPort" type:"integer" required:"true"`
  6144  
  6145  	// The VPC interface where the media stream comes in from.
  6146  	//
  6147  	// Interface is a required field
  6148  	Interface *Interface `locationName:"interface" type:"structure" required:"true"`
  6149  }
  6150  
  6151  // String returns the string representation.
  6152  //
  6153  // API parameter values that are decorated as "sensitive" in the API will not
  6154  // be included in the string output. The member name will be present, but the
  6155  // value will be replaced with "sensitive".
  6156  func (s InputConfiguration) String() string {
  6157  	return awsutil.Prettify(s)
  6158  }
  6159  
  6160  // GoString returns the string representation.
  6161  //
  6162  // API parameter values that are decorated as "sensitive" in the API will not
  6163  // be included in the string output. The member name will be present, but the
  6164  // value will be replaced with "sensitive".
  6165  func (s InputConfiguration) GoString() string {
  6166  	return s.String()
  6167  }
  6168  
  6169  // SetInputIp sets the InputIp field's value.
  6170  func (s *InputConfiguration) SetInputIp(v string) *InputConfiguration {
  6171  	s.InputIp = &v
  6172  	return s
  6173  }
  6174  
  6175  // SetInputPort sets the InputPort field's value.
  6176  func (s *InputConfiguration) SetInputPort(v int64) *InputConfiguration {
  6177  	s.InputPort = &v
  6178  	return s
  6179  }
  6180  
  6181  // SetInterface sets the Interface field's value.
  6182  func (s *InputConfiguration) SetInterface(v *Interface) *InputConfiguration {
  6183  	s.Interface = v
  6184  	return s
  6185  }
  6186  
  6187  // The transport parameters that you want to associate with an incoming media
  6188  // stream.
  6189  type InputConfigurationRequest struct {
  6190  	_ struct{} `type:"structure"`
  6191  
  6192  	// The port that you want the flow to listen on for an incoming media stream.
  6193  	//
  6194  	// InputPort is a required field
  6195  	InputPort *int64 `locationName:"inputPort" type:"integer" required:"true"`
  6196  
  6197  	// The VPC interface that you want to use for the incoming media stream.
  6198  	//
  6199  	// Interface is a required field
  6200  	Interface *InterfaceRequest `locationName:"interface" type:"structure" required:"true"`
  6201  }
  6202  
  6203  // String returns the string representation.
  6204  //
  6205  // API parameter values that are decorated as "sensitive" in the API will not
  6206  // be included in the string output. The member name will be present, but the
  6207  // value will be replaced with "sensitive".
  6208  func (s InputConfigurationRequest) String() string {
  6209  	return awsutil.Prettify(s)
  6210  }
  6211  
  6212  // GoString returns the string representation.
  6213  //
  6214  // API parameter values that are decorated as "sensitive" in the API will not
  6215  // be included in the string output. The member name will be present, but the
  6216  // value will be replaced with "sensitive".
  6217  func (s InputConfigurationRequest) GoString() string {
  6218  	return s.String()
  6219  }
  6220  
  6221  // Validate inspects the fields of the type to determine if they are valid.
  6222  func (s *InputConfigurationRequest) Validate() error {
  6223  	invalidParams := request.ErrInvalidParams{Context: "InputConfigurationRequest"}
  6224  	if s.InputPort == nil {
  6225  		invalidParams.Add(request.NewErrParamRequired("InputPort"))
  6226  	}
  6227  	if s.Interface == nil {
  6228  		invalidParams.Add(request.NewErrParamRequired("Interface"))
  6229  	}
  6230  	if s.Interface != nil {
  6231  		if err := s.Interface.Validate(); err != nil {
  6232  			invalidParams.AddNested("Interface", err.(request.ErrInvalidParams))
  6233  		}
  6234  	}
  6235  
  6236  	if invalidParams.Len() > 0 {
  6237  		return invalidParams
  6238  	}
  6239  	return nil
  6240  }
  6241  
  6242  // SetInputPort sets the InputPort field's value.
  6243  func (s *InputConfigurationRequest) SetInputPort(v int64) *InputConfigurationRequest {
  6244  	s.InputPort = &v
  6245  	return s
  6246  }
  6247  
  6248  // SetInterface sets the Interface field's value.
  6249  func (s *InputConfigurationRequest) SetInterface(v *InterfaceRequest) *InputConfigurationRequest {
  6250  	s.Interface = v
  6251  	return s
  6252  }
  6253  
  6254  // The VPC interface that is used for the media stream associated with the source
  6255  // or output.
  6256  type Interface struct {
  6257  	_ struct{} `type:"structure"`
  6258  
  6259  	// The name of the VPC interface.
  6260  	//
  6261  	// Name is a required field
  6262  	Name *string `locationName:"name" type:"string" required:"true"`
  6263  }
  6264  
  6265  // String returns the string representation.
  6266  //
  6267  // API parameter values that are decorated as "sensitive" in the API will not
  6268  // be included in the string output. The member name will be present, but the
  6269  // value will be replaced with "sensitive".
  6270  func (s Interface) String() string {
  6271  	return awsutil.Prettify(s)
  6272  }
  6273  
  6274  // GoString returns the string representation.
  6275  //
  6276  // API parameter values that are decorated as "sensitive" in the API will not
  6277  // be included in the string output. The member name will be present, but the
  6278  // value will be replaced with "sensitive".
  6279  func (s Interface) GoString() string {
  6280  	return s.String()
  6281  }
  6282  
  6283  // SetName sets the Name field's value.
  6284  func (s *Interface) SetName(v string) *Interface {
  6285  	s.Name = &v
  6286  	return s
  6287  }
  6288  
  6289  // The VPC interface that you want to designate where the media stream is coming
  6290  // from or going to.
  6291  type InterfaceRequest struct {
  6292  	_ struct{} `type:"structure"`
  6293  
  6294  	// The name of the VPC interface.
  6295  	//
  6296  	// Name is a required field
  6297  	Name *string `locationName:"name" type:"string" required:"true"`
  6298  }
  6299  
  6300  // String returns the string representation.
  6301  //
  6302  // API parameter values that are decorated as "sensitive" in the API will not
  6303  // be included in the string output. The member name will be present, but the
  6304  // value will be replaced with "sensitive".
  6305  func (s InterfaceRequest) String() string {
  6306  	return awsutil.Prettify(s)
  6307  }
  6308  
  6309  // GoString returns the string representation.
  6310  //
  6311  // API parameter values that are decorated as "sensitive" in the API will not
  6312  // be included in the string output. The member name will be present, but the
  6313  // value will be replaced with "sensitive".
  6314  func (s InterfaceRequest) GoString() string {
  6315  	return s.String()
  6316  }
  6317  
  6318  // Validate inspects the fields of the type to determine if they are valid.
  6319  func (s *InterfaceRequest) Validate() error {
  6320  	invalidParams := request.ErrInvalidParams{Context: "InterfaceRequest"}
  6321  	if s.Name == nil {
  6322  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6323  	}
  6324  
  6325  	if invalidParams.Len() > 0 {
  6326  		return invalidParams
  6327  	}
  6328  	return nil
  6329  }
  6330  
  6331  // SetName sets the Name field's value.
  6332  func (s *InterfaceRequest) SetName(v string) *InterfaceRequest {
  6333  	s.Name = &v
  6334  	return s
  6335  }
  6336  
  6337  // Exception raised by AWS Elemental MediaConnect. See the error message and
  6338  // documentation for the operation for more information on the cause of this
  6339  // exception.
  6340  type InternalServerErrorException struct {
  6341  	_            struct{}                  `type:"structure"`
  6342  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6343  
  6344  	Message_ *string `locationName:"message" type:"string"`
  6345  }
  6346  
  6347  // String returns the string representation.
  6348  //
  6349  // API parameter values that are decorated as "sensitive" in the API will not
  6350  // be included in the string output. The member name will be present, but the
  6351  // value will be replaced with "sensitive".
  6352  func (s InternalServerErrorException) String() string {
  6353  	return awsutil.Prettify(s)
  6354  }
  6355  
  6356  // GoString returns the string representation.
  6357  //
  6358  // API parameter values that are decorated as "sensitive" in the API will not
  6359  // be included in the string output. The member name will be present, but the
  6360  // value will be replaced with "sensitive".
  6361  func (s InternalServerErrorException) GoString() string {
  6362  	return s.String()
  6363  }
  6364  
  6365  func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
  6366  	return &InternalServerErrorException{
  6367  		RespMetadata: v,
  6368  	}
  6369  }
  6370  
  6371  // Code returns the exception type name.
  6372  func (s *InternalServerErrorException) Code() string {
  6373  	return "InternalServerErrorException"
  6374  }
  6375  
  6376  // Message returns the exception's message.
  6377  func (s *InternalServerErrorException) Message() string {
  6378  	if s.Message_ != nil {
  6379  		return *s.Message_
  6380  	}
  6381  	return ""
  6382  }
  6383  
  6384  // OrigErr always returns nil, satisfies awserr.Error interface.
  6385  func (s *InternalServerErrorException) OrigErr() error {
  6386  	return nil
  6387  }
  6388  
  6389  func (s *InternalServerErrorException) Error() string {
  6390  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6391  }
  6392  
  6393  // Status code returns the HTTP status code for the request's response error.
  6394  func (s *InternalServerErrorException) StatusCode() int {
  6395  	return s.RespMetadata.StatusCode
  6396  }
  6397  
  6398  // RequestID returns the service's response RequestID for request.
  6399  func (s *InternalServerErrorException) RequestID() string {
  6400  	return s.RespMetadata.RequestID
  6401  }
  6402  
  6403  type ListEntitlementsInput struct {
  6404  	_ struct{} `type:"structure" nopayload:"true"`
  6405  
  6406  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6407  
  6408  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6409  }
  6410  
  6411  // String returns the string representation.
  6412  //
  6413  // API parameter values that are decorated as "sensitive" in the API will not
  6414  // be included in the string output. The member name will be present, but the
  6415  // value will be replaced with "sensitive".
  6416  func (s ListEntitlementsInput) String() string {
  6417  	return awsutil.Prettify(s)
  6418  }
  6419  
  6420  // GoString returns the string representation.
  6421  //
  6422  // API parameter values that are decorated as "sensitive" in the API will not
  6423  // be included in the string output. The member name will be present, but the
  6424  // value will be replaced with "sensitive".
  6425  func (s ListEntitlementsInput) GoString() string {
  6426  	return s.String()
  6427  }
  6428  
  6429  // Validate inspects the fields of the type to determine if they are valid.
  6430  func (s *ListEntitlementsInput) Validate() error {
  6431  	invalidParams := request.ErrInvalidParams{Context: "ListEntitlementsInput"}
  6432  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6433  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6434  	}
  6435  
  6436  	if invalidParams.Len() > 0 {
  6437  		return invalidParams
  6438  	}
  6439  	return nil
  6440  }
  6441  
  6442  // SetMaxResults sets the MaxResults field's value.
  6443  func (s *ListEntitlementsInput) SetMaxResults(v int64) *ListEntitlementsInput {
  6444  	s.MaxResults = &v
  6445  	return s
  6446  }
  6447  
  6448  // SetNextToken sets the NextToken field's value.
  6449  func (s *ListEntitlementsInput) SetNextToken(v string) *ListEntitlementsInput {
  6450  	s.NextToken = &v
  6451  	return s
  6452  }
  6453  
  6454  // The result of a successful ListEntitlements request. The response includes
  6455  // the ARN of each entitlement, the name of the associated flow, and the NextToken
  6456  // to use in a subsequent ListEntitlements request.
  6457  type ListEntitlementsOutput struct {
  6458  	_ struct{} `type:"structure"`
  6459  
  6460  	// A list of entitlements that have been granted to you from other AWS accounts.
  6461  	Entitlements []*ListedEntitlement `locationName:"entitlements" type:"list"`
  6462  
  6463  	// The token that identifies which batch of results that you want to see. For
  6464  	// example, you submit a ListEntitlements request with MaxResults set at 5.
  6465  	// The service returns the first batch of results (up to 5) and a NextToken
  6466  	// value. To see the next batch of results, you can submit the ListEntitlements
  6467  	// request a second time and specify the NextToken value.
  6468  	NextToken *string `locationName:"nextToken" type:"string"`
  6469  }
  6470  
  6471  // String returns the string representation.
  6472  //
  6473  // API parameter values that are decorated as "sensitive" in the API will not
  6474  // be included in the string output. The member name will be present, but the
  6475  // value will be replaced with "sensitive".
  6476  func (s ListEntitlementsOutput) String() string {
  6477  	return awsutil.Prettify(s)
  6478  }
  6479  
  6480  // GoString returns the string representation.
  6481  //
  6482  // API parameter values that are decorated as "sensitive" in the API will not
  6483  // be included in the string output. The member name will be present, but the
  6484  // value will be replaced with "sensitive".
  6485  func (s ListEntitlementsOutput) GoString() string {
  6486  	return s.String()
  6487  }
  6488  
  6489  // SetEntitlements sets the Entitlements field's value.
  6490  func (s *ListEntitlementsOutput) SetEntitlements(v []*ListedEntitlement) *ListEntitlementsOutput {
  6491  	s.Entitlements = v
  6492  	return s
  6493  }
  6494  
  6495  // SetNextToken sets the NextToken field's value.
  6496  func (s *ListEntitlementsOutput) SetNextToken(v string) *ListEntitlementsOutput {
  6497  	s.NextToken = &v
  6498  	return s
  6499  }
  6500  
  6501  type ListFlowsInput struct {
  6502  	_ struct{} `type:"structure" nopayload:"true"`
  6503  
  6504  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6505  
  6506  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6507  }
  6508  
  6509  // String returns the string representation.
  6510  //
  6511  // API parameter values that are decorated as "sensitive" in the API will not
  6512  // be included in the string output. The member name will be present, but the
  6513  // value will be replaced with "sensitive".
  6514  func (s ListFlowsInput) String() string {
  6515  	return awsutil.Prettify(s)
  6516  }
  6517  
  6518  // GoString returns the string representation.
  6519  //
  6520  // API parameter values that are decorated as "sensitive" in the API will not
  6521  // be included in the string output. The member name will be present, but the
  6522  // value will be replaced with "sensitive".
  6523  func (s ListFlowsInput) GoString() string {
  6524  	return s.String()
  6525  }
  6526  
  6527  // Validate inspects the fields of the type to determine if they are valid.
  6528  func (s *ListFlowsInput) Validate() error {
  6529  	invalidParams := request.ErrInvalidParams{Context: "ListFlowsInput"}
  6530  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6531  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6532  	}
  6533  
  6534  	if invalidParams.Len() > 0 {
  6535  		return invalidParams
  6536  	}
  6537  	return nil
  6538  }
  6539  
  6540  // SetMaxResults sets the MaxResults field's value.
  6541  func (s *ListFlowsInput) SetMaxResults(v int64) *ListFlowsInput {
  6542  	s.MaxResults = &v
  6543  	return s
  6544  }
  6545  
  6546  // SetNextToken sets the NextToken field's value.
  6547  func (s *ListFlowsInput) SetNextToken(v string) *ListFlowsInput {
  6548  	s.NextToken = &v
  6549  	return s
  6550  }
  6551  
  6552  // The result of a successful ListFlows request. The response includes flow
  6553  // summaries and the NextToken to use in a subsequent ListFlows request.
  6554  type ListFlowsOutput struct {
  6555  	_ struct{} `type:"structure"`
  6556  
  6557  	// A list of flow summaries.
  6558  	Flows []*ListedFlow `locationName:"flows" type:"list"`
  6559  
  6560  	// The token that identifies which batch of results that you want to see. For
  6561  	// example, you submit a ListFlows request with MaxResults set at 5. The service
  6562  	// returns the first batch of results (up to 5) and a NextToken value. To see
  6563  	// the next batch of results, you can submit the ListFlows request a second
  6564  	// time and specify the NextToken value.
  6565  	NextToken *string `locationName:"nextToken" type:"string"`
  6566  }
  6567  
  6568  // String returns the string representation.
  6569  //
  6570  // API parameter values that are decorated as "sensitive" in the API will not
  6571  // be included in the string output. The member name will be present, but the
  6572  // value will be replaced with "sensitive".
  6573  func (s ListFlowsOutput) String() string {
  6574  	return awsutil.Prettify(s)
  6575  }
  6576  
  6577  // GoString returns the string representation.
  6578  //
  6579  // API parameter values that are decorated as "sensitive" in the API will not
  6580  // be included in the string output. The member name will be present, but the
  6581  // value will be replaced with "sensitive".
  6582  func (s ListFlowsOutput) GoString() string {
  6583  	return s.String()
  6584  }
  6585  
  6586  // SetFlows sets the Flows field's value.
  6587  func (s *ListFlowsOutput) SetFlows(v []*ListedFlow) *ListFlowsOutput {
  6588  	s.Flows = v
  6589  	return s
  6590  }
  6591  
  6592  // SetNextToken sets the NextToken field's value.
  6593  func (s *ListFlowsOutput) SetNextToken(v string) *ListFlowsOutput {
  6594  	s.NextToken = &v
  6595  	return s
  6596  }
  6597  
  6598  type ListOfferingsInput struct {
  6599  	_ struct{} `type:"structure" nopayload:"true"`
  6600  
  6601  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6602  
  6603  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6604  }
  6605  
  6606  // String returns the string representation.
  6607  //
  6608  // API parameter values that are decorated as "sensitive" in the API will not
  6609  // be included in the string output. The member name will be present, but the
  6610  // value will be replaced with "sensitive".
  6611  func (s ListOfferingsInput) String() string {
  6612  	return awsutil.Prettify(s)
  6613  }
  6614  
  6615  // GoString returns the string representation.
  6616  //
  6617  // API parameter values that are decorated as "sensitive" in the API will not
  6618  // be included in the string output. The member name will be present, but the
  6619  // value will be replaced with "sensitive".
  6620  func (s ListOfferingsInput) GoString() string {
  6621  	return s.String()
  6622  }
  6623  
  6624  // Validate inspects the fields of the type to determine if they are valid.
  6625  func (s *ListOfferingsInput) Validate() error {
  6626  	invalidParams := request.ErrInvalidParams{Context: "ListOfferingsInput"}
  6627  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6628  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6629  	}
  6630  
  6631  	if invalidParams.Len() > 0 {
  6632  		return invalidParams
  6633  	}
  6634  	return nil
  6635  }
  6636  
  6637  // SetMaxResults sets the MaxResults field's value.
  6638  func (s *ListOfferingsInput) SetMaxResults(v int64) *ListOfferingsInput {
  6639  	s.MaxResults = &v
  6640  	return s
  6641  }
  6642  
  6643  // SetNextToken sets the NextToken field's value.
  6644  func (s *ListOfferingsInput) SetNextToken(v string) *ListOfferingsInput {
  6645  	s.NextToken = &v
  6646  	return s
  6647  }
  6648  
  6649  // The result of a successful ListOfferings request. The response includes the
  6650  // details of each offering that your account is eligible for. The response
  6651  // includes the following information for each offering: description, duration,
  6652  // outbound bandwidth, price, Amazon Resource Name (ARN), and the NextToken
  6653  // to use in a subsequent ListOfferings request.
  6654  type ListOfferingsOutput struct {
  6655  	_ struct{} `type:"structure"`
  6656  
  6657  	// The token that identifies which batch of results that you want to see. For
  6658  	// example, you submit a ListOfferings request with MaxResults set at 5. The
  6659  	// service returns the first batch of results (up to 5) and a NextToken value.
  6660  	// To see the next batch of results, you can submit the ListOfferings request
  6661  	// a second time and specify the NextToken value.
  6662  	NextToken *string `locationName:"nextToken" type:"string"`
  6663  
  6664  	// A list of offerings that are available to this account in the current AWS
  6665  	// Region.
  6666  	Offerings []*Offering `locationName:"offerings" type:"list"`
  6667  }
  6668  
  6669  // String returns the string representation.
  6670  //
  6671  // API parameter values that are decorated as "sensitive" in the API will not
  6672  // be included in the string output. The member name will be present, but the
  6673  // value will be replaced with "sensitive".
  6674  func (s ListOfferingsOutput) String() string {
  6675  	return awsutil.Prettify(s)
  6676  }
  6677  
  6678  // GoString returns the string representation.
  6679  //
  6680  // API parameter values that are decorated as "sensitive" in the API will not
  6681  // be included in the string output. The member name will be present, but the
  6682  // value will be replaced with "sensitive".
  6683  func (s ListOfferingsOutput) GoString() string {
  6684  	return s.String()
  6685  }
  6686  
  6687  // SetNextToken sets the NextToken field's value.
  6688  func (s *ListOfferingsOutput) SetNextToken(v string) *ListOfferingsOutput {
  6689  	s.NextToken = &v
  6690  	return s
  6691  }
  6692  
  6693  // SetOfferings sets the Offerings field's value.
  6694  func (s *ListOfferingsOutput) SetOfferings(v []*Offering) *ListOfferingsOutput {
  6695  	s.Offerings = v
  6696  	return s
  6697  }
  6698  
  6699  type ListReservationsInput struct {
  6700  	_ struct{} `type:"structure" nopayload:"true"`
  6701  
  6702  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
  6703  
  6704  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  6705  }
  6706  
  6707  // String returns the string representation.
  6708  //
  6709  // API parameter values that are decorated as "sensitive" in the API will not
  6710  // be included in the string output. The member name will be present, but the
  6711  // value will be replaced with "sensitive".
  6712  func (s ListReservationsInput) String() string {
  6713  	return awsutil.Prettify(s)
  6714  }
  6715  
  6716  // GoString returns the string representation.
  6717  //
  6718  // API parameter values that are decorated as "sensitive" in the API will not
  6719  // be included in the string output. The member name will be present, but the
  6720  // value will be replaced with "sensitive".
  6721  func (s ListReservationsInput) GoString() string {
  6722  	return s.String()
  6723  }
  6724  
  6725  // Validate inspects the fields of the type to determine if they are valid.
  6726  func (s *ListReservationsInput) Validate() error {
  6727  	invalidParams := request.ErrInvalidParams{Context: "ListReservationsInput"}
  6728  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6729  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6730  	}
  6731  
  6732  	if invalidParams.Len() > 0 {
  6733  		return invalidParams
  6734  	}
  6735  	return nil
  6736  }
  6737  
  6738  // SetMaxResults sets the MaxResults field's value.
  6739  func (s *ListReservationsInput) SetMaxResults(v int64) *ListReservationsInput {
  6740  	s.MaxResults = &v
  6741  	return s
  6742  }
  6743  
  6744  // SetNextToken sets the NextToken field's value.
  6745  func (s *ListReservationsInput) SetNextToken(v string) *ListReservationsInput {
  6746  	s.NextToken = &v
  6747  	return s
  6748  }
  6749  
  6750  // The result of a successful ListReservations request. The response includes
  6751  // the details of each offering that your account is eligible for. The response
  6752  // includes the following information for each offering: description, duration,
  6753  // outbound bandwidth, price, Amazon Resource Name (ARN), and the NextToken
  6754  // to use in a subsequent ListOfferings request.
  6755  type ListReservationsOutput struct {
  6756  	_ struct{} `type:"structure"`
  6757  
  6758  	// The token that identifies which batch of results that you want to see. For
  6759  	// example, you submit a ListReservations request with MaxResults set at 5.
  6760  	// The service returns the first batch of results (up to 5) and a NextToken
  6761  	// value. To see the next batch of results, you can submit the ListReservations
  6762  	// request a second time and specify the NextToken value.
  6763  	NextToken *string `locationName:"nextToken" type:"string"`
  6764  
  6765  	// A list of all reservations that have been purchased by this account in the
  6766  	// current AWS Region.
  6767  	Reservations []*Reservation `locationName:"reservations" type:"list"`
  6768  }
  6769  
  6770  // String returns the string representation.
  6771  //
  6772  // API parameter values that are decorated as "sensitive" in the API will not
  6773  // be included in the string output. The member name will be present, but the
  6774  // value will be replaced with "sensitive".
  6775  func (s ListReservationsOutput) String() string {
  6776  	return awsutil.Prettify(s)
  6777  }
  6778  
  6779  // GoString returns the string representation.
  6780  //
  6781  // API parameter values that are decorated as "sensitive" in the API will not
  6782  // be included in the string output. The member name will be present, but the
  6783  // value will be replaced with "sensitive".
  6784  func (s ListReservationsOutput) GoString() string {
  6785  	return s.String()
  6786  }
  6787  
  6788  // SetNextToken sets the NextToken field's value.
  6789  func (s *ListReservationsOutput) SetNextToken(v string) *ListReservationsOutput {
  6790  	s.NextToken = &v
  6791  	return s
  6792  }
  6793  
  6794  // SetReservations sets the Reservations field's value.
  6795  func (s *ListReservationsOutput) SetReservations(v []*Reservation) *ListReservationsOutput {
  6796  	s.Reservations = v
  6797  	return s
  6798  }
  6799  
  6800  type ListTagsForResourceInput struct {
  6801  	_ struct{} `type:"structure" nopayload:"true"`
  6802  
  6803  	// ResourceArn is a required field
  6804  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  6805  }
  6806  
  6807  // String returns the string representation.
  6808  //
  6809  // API parameter values that are decorated as "sensitive" in the API will not
  6810  // be included in the string output. The member name will be present, but the
  6811  // value will be replaced with "sensitive".
  6812  func (s ListTagsForResourceInput) String() string {
  6813  	return awsutil.Prettify(s)
  6814  }
  6815  
  6816  // GoString returns the string representation.
  6817  //
  6818  // API parameter values that are decorated as "sensitive" in the API will not
  6819  // be included in the string output. The member name will be present, but the
  6820  // value will be replaced with "sensitive".
  6821  func (s ListTagsForResourceInput) GoString() string {
  6822  	return s.String()
  6823  }
  6824  
  6825  // Validate inspects the fields of the type to determine if they are valid.
  6826  func (s *ListTagsForResourceInput) Validate() error {
  6827  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  6828  	if s.ResourceArn == nil {
  6829  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  6830  	}
  6831  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  6832  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  6833  	}
  6834  
  6835  	if invalidParams.Len() > 0 {
  6836  		return invalidParams
  6837  	}
  6838  	return nil
  6839  }
  6840  
  6841  // SetResourceArn sets the ResourceArn field's value.
  6842  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  6843  	s.ResourceArn = &v
  6844  	return s
  6845  }
  6846  
  6847  // The tags for the resource.
  6848  type ListTagsForResourceOutput struct {
  6849  	_ struct{} `type:"structure"`
  6850  
  6851  	// A map from tag keys to values. Tag keys can have a maximum character length
  6852  	// of 128 characters, and tag values can have a maximum length of 256 characters.
  6853  	Tags map[string]*string `locationName:"tags" type:"map"`
  6854  }
  6855  
  6856  // String returns the string representation.
  6857  //
  6858  // API parameter values that are decorated as "sensitive" in the API will not
  6859  // be included in the string output. The member name will be present, but the
  6860  // value will be replaced with "sensitive".
  6861  func (s ListTagsForResourceOutput) String() string {
  6862  	return awsutil.Prettify(s)
  6863  }
  6864  
  6865  // GoString returns the string representation.
  6866  //
  6867  // API parameter values that are decorated as "sensitive" in the API will not
  6868  // be included in the string output. The member name will be present, but the
  6869  // value will be replaced with "sensitive".
  6870  func (s ListTagsForResourceOutput) GoString() string {
  6871  	return s.String()
  6872  }
  6873  
  6874  // SetTags sets the Tags field's value.
  6875  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  6876  	s.Tags = v
  6877  	return s
  6878  }
  6879  
  6880  // An entitlement that has been granted to you from other AWS accounts.
  6881  type ListedEntitlement struct {
  6882  	_ struct{} `type:"structure"`
  6883  
  6884  	// Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
  6885  	DataTransferSubscriberFeePercent *int64 `locationName:"dataTransferSubscriberFeePercent" type:"integer"`
  6886  
  6887  	// The ARN of the entitlement.
  6888  	//
  6889  	// EntitlementArn is a required field
  6890  	EntitlementArn *string `locationName:"entitlementArn" type:"string" required:"true"`
  6891  
  6892  	// The name of the entitlement.
  6893  	//
  6894  	// EntitlementName is a required field
  6895  	EntitlementName *string `locationName:"entitlementName" type:"string" required:"true"`
  6896  }
  6897  
  6898  // String returns the string representation.
  6899  //
  6900  // API parameter values that are decorated as "sensitive" in the API will not
  6901  // be included in the string output. The member name will be present, but the
  6902  // value will be replaced with "sensitive".
  6903  func (s ListedEntitlement) String() string {
  6904  	return awsutil.Prettify(s)
  6905  }
  6906  
  6907  // GoString returns the string representation.
  6908  //
  6909  // API parameter values that are decorated as "sensitive" in the API will not
  6910  // be included in the string output. The member name will be present, but the
  6911  // value will be replaced with "sensitive".
  6912  func (s ListedEntitlement) GoString() string {
  6913  	return s.String()
  6914  }
  6915  
  6916  // SetDataTransferSubscriberFeePercent sets the DataTransferSubscriberFeePercent field's value.
  6917  func (s *ListedEntitlement) SetDataTransferSubscriberFeePercent(v int64) *ListedEntitlement {
  6918  	s.DataTransferSubscriberFeePercent = &v
  6919  	return s
  6920  }
  6921  
  6922  // SetEntitlementArn sets the EntitlementArn field's value.
  6923  func (s *ListedEntitlement) SetEntitlementArn(v string) *ListedEntitlement {
  6924  	s.EntitlementArn = &v
  6925  	return s
  6926  }
  6927  
  6928  // SetEntitlementName sets the EntitlementName field's value.
  6929  func (s *ListedEntitlement) SetEntitlementName(v string) *ListedEntitlement {
  6930  	s.EntitlementName = &v
  6931  	return s
  6932  }
  6933  
  6934  // Provides a summary of a flow, including its ARN, Availability Zone, and source
  6935  // type.
  6936  type ListedFlow struct {
  6937  	_ struct{} `type:"structure"`
  6938  
  6939  	// The Availability Zone that the flow was created in.
  6940  	//
  6941  	// AvailabilityZone is a required field
  6942  	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  6943  
  6944  	// A description of the flow.
  6945  	//
  6946  	// Description is a required field
  6947  	Description *string `locationName:"description" type:"string" required:"true"`
  6948  
  6949  	// The ARN of the flow.
  6950  	//
  6951  	// FlowArn is a required field
  6952  	FlowArn *string `locationName:"flowArn" type:"string" required:"true"`
  6953  
  6954  	// The name of the flow.
  6955  	//
  6956  	// Name is a required field
  6957  	Name *string `locationName:"name" type:"string" required:"true"`
  6958  
  6959  	// The type of source. This value is either owned (originated somewhere other
  6960  	// than an AWS Elemental MediaConnect flow owned by another AWS account) or
  6961  	// entitled (originated at an AWS Elemental MediaConnect flow owned by another
  6962  	// AWS account).
  6963  	//
  6964  	// SourceType is a required field
  6965  	SourceType *string `locationName:"sourceType" type:"string" required:"true" enum:"SourceType"`
  6966  
  6967  	// The current status of the flow.
  6968  	//
  6969  	// Status is a required field
  6970  	Status *string `locationName:"status" type:"string" required:"true" enum:"Status"`
  6971  }
  6972  
  6973  // String returns the string representation.
  6974  //
  6975  // API parameter values that are decorated as "sensitive" in the API will not
  6976  // be included in the string output. The member name will be present, but the
  6977  // value will be replaced with "sensitive".
  6978  func (s ListedFlow) String() string {
  6979  	return awsutil.Prettify(s)
  6980  }
  6981  
  6982  // GoString returns the string representation.
  6983  //
  6984  // API parameter values that are decorated as "sensitive" in the API will not
  6985  // be included in the string output. The member name will be present, but the
  6986  // value will be replaced with "sensitive".
  6987  func (s ListedFlow) GoString() string {
  6988  	return s.String()
  6989  }
  6990  
  6991  // SetAvailabilityZone sets the AvailabilityZone field's value.
  6992  func (s *ListedFlow) SetAvailabilityZone(v string) *ListedFlow {
  6993  	s.AvailabilityZone = &v
  6994  	return s
  6995  }
  6996  
  6997  // SetDescription sets the Description field's value.
  6998  func (s *ListedFlow) SetDescription(v string) *ListedFlow {
  6999  	s.Description = &v
  7000  	return s
  7001  }
  7002  
  7003  // SetFlowArn sets the FlowArn field's value.
  7004  func (s *ListedFlow) SetFlowArn(v string) *ListedFlow {
  7005  	s.FlowArn = &v
  7006  	return s
  7007  }
  7008  
  7009  // SetName sets the Name field's value.
  7010  func (s *ListedFlow) SetName(v string) *ListedFlow {
  7011  	s.Name = &v
  7012  	return s
  7013  }
  7014  
  7015  // SetSourceType sets the SourceType field's value.
  7016  func (s *ListedFlow) SetSourceType(v string) *ListedFlow {
  7017  	s.SourceType = &v
  7018  	return s
  7019  }
  7020  
  7021  // SetStatus sets the Status field's value.
  7022  func (s *ListedFlow) SetStatus(v string) *ListedFlow {
  7023  	s.Status = &v
  7024  	return s
  7025  }
  7026  
  7027  // A single track or stream of media that contains video, audio, or ancillary
  7028  // data. After you add a media stream to a flow, you can associate it with sources
  7029  // and outputs on that flow, as long as they use the CDI protocol or the ST
  7030  // 2110 JPEG XS protocol. Each source or output can consist of one or many media
  7031  // streams.
  7032  type MediaStream struct {
  7033  	_ struct{} `type:"structure"`
  7034  
  7035  	// Attributes that are related to the media stream.
  7036  	Attributes *MediaStreamAttributes `locationName:"attributes" type:"structure"`
  7037  
  7038  	// The sample rate for the stream. This value is measured in Hz.
  7039  	ClockRate *int64 `locationName:"clockRate" type:"integer"`
  7040  
  7041  	// A description that can help you quickly identify what your media stream is
  7042  	// used for.
  7043  	Description *string `locationName:"description" type:"string"`
  7044  
  7045  	// The format type number (sometimes referred to as RTP payload type) of the
  7046  	// media stream. MediaConnect assigns this value to the media stream. For ST
  7047  	// 2110 JPEG XS outputs, you need to provide this value to the receiver.
  7048  	//
  7049  	// Fmt is a required field
  7050  	Fmt *int64 `locationName:"fmt" type:"integer" required:"true"`
  7051  
  7052  	// A unique identifier for the media stream.
  7053  	//
  7054  	// MediaStreamId is a required field
  7055  	MediaStreamId *int64 `locationName:"mediaStreamId" type:"integer" required:"true"`
  7056  
  7057  	// A name that helps you distinguish one media stream from another.
  7058  	//
  7059  	// MediaStreamName is a required field
  7060  	MediaStreamName *string `locationName:"mediaStreamName" type:"string" required:"true"`
  7061  
  7062  	// The type of media stream.
  7063  	//
  7064  	// MediaStreamType is a required field
  7065  	MediaStreamType *string `locationName:"mediaStreamType" type:"string" required:"true" enum:"MediaStreamType"`
  7066  
  7067  	// The resolution of the video.
  7068  	VideoFormat *string `locationName:"videoFormat" type:"string"`
  7069  }
  7070  
  7071  // String returns the string representation.
  7072  //
  7073  // API parameter values that are decorated as "sensitive" in the API will not
  7074  // be included in the string output. The member name will be present, but the
  7075  // value will be replaced with "sensitive".
  7076  func (s MediaStream) String() string {
  7077  	return awsutil.Prettify(s)
  7078  }
  7079  
  7080  // GoString returns the string representation.
  7081  //
  7082  // API parameter values that are decorated as "sensitive" in the API will not
  7083  // be included in the string output. The member name will be present, but the
  7084  // value will be replaced with "sensitive".
  7085  func (s MediaStream) GoString() string {
  7086  	return s.String()
  7087  }
  7088  
  7089  // SetAttributes sets the Attributes field's value.
  7090  func (s *MediaStream) SetAttributes(v *MediaStreamAttributes) *MediaStream {
  7091  	s.Attributes = v
  7092  	return s
  7093  }
  7094  
  7095  // SetClockRate sets the ClockRate field's value.
  7096  func (s *MediaStream) SetClockRate(v int64) *MediaStream {
  7097  	s.ClockRate = &v
  7098  	return s
  7099  }
  7100  
  7101  // SetDescription sets the Description field's value.
  7102  func (s *MediaStream) SetDescription(v string) *MediaStream {
  7103  	s.Description = &v
  7104  	return s
  7105  }
  7106  
  7107  // SetFmt sets the Fmt field's value.
  7108  func (s *MediaStream) SetFmt(v int64) *MediaStream {
  7109  	s.Fmt = &v
  7110  	return s
  7111  }
  7112  
  7113  // SetMediaStreamId sets the MediaStreamId field's value.
  7114  func (s *MediaStream) SetMediaStreamId(v int64) *MediaStream {
  7115  	s.MediaStreamId = &v
  7116  	return s
  7117  }
  7118  
  7119  // SetMediaStreamName sets the MediaStreamName field's value.
  7120  func (s *MediaStream) SetMediaStreamName(v string) *MediaStream {
  7121  	s.MediaStreamName = &v
  7122  	return s
  7123  }
  7124  
  7125  // SetMediaStreamType sets the MediaStreamType field's value.
  7126  func (s *MediaStream) SetMediaStreamType(v string) *MediaStream {
  7127  	s.MediaStreamType = &v
  7128  	return s
  7129  }
  7130  
  7131  // SetVideoFormat sets the VideoFormat field's value.
  7132  func (s *MediaStream) SetVideoFormat(v string) *MediaStream {
  7133  	s.VideoFormat = &v
  7134  	return s
  7135  }
  7136  
  7137  // Attributes that are related to the media stream.
  7138  type MediaStreamAttributes struct {
  7139  	_ struct{} `type:"structure"`
  7140  
  7141  	// A set of parameters that define the media stream.
  7142  	//
  7143  	// Fmtp is a required field
  7144  	Fmtp *Fmtp `locationName:"fmtp" type:"structure" required:"true"`
  7145  
  7146  	// The audio language, in a format that is recognized by the receiver.
  7147  	Lang *string `locationName:"lang" type:"string"`
  7148  }
  7149  
  7150  // String returns the string representation.
  7151  //
  7152  // API parameter values that are decorated as "sensitive" in the API will not
  7153  // be included in the string output. The member name will be present, but the
  7154  // value will be replaced with "sensitive".
  7155  func (s MediaStreamAttributes) String() string {
  7156  	return awsutil.Prettify(s)
  7157  }
  7158  
  7159  // GoString returns the string representation.
  7160  //
  7161  // API parameter values that are decorated as "sensitive" in the API will not
  7162  // be included in the string output. The member name will be present, but the
  7163  // value will be replaced with "sensitive".
  7164  func (s MediaStreamAttributes) GoString() string {
  7165  	return s.String()
  7166  }
  7167  
  7168  // SetFmtp sets the Fmtp field's value.
  7169  func (s *MediaStreamAttributes) SetFmtp(v *Fmtp) *MediaStreamAttributes {
  7170  	s.Fmtp = v
  7171  	return s
  7172  }
  7173  
  7174  // SetLang sets the Lang field's value.
  7175  func (s *MediaStreamAttributes) SetLang(v string) *MediaStreamAttributes {
  7176  	s.Lang = &v
  7177  	return s
  7178  }
  7179  
  7180  // Attributes that are related to the media stream.
  7181  type MediaStreamAttributesRequest struct {
  7182  	_ struct{} `type:"structure"`
  7183  
  7184  	// The settings that you want to use to define the media stream.
  7185  	Fmtp *FmtpRequest `locationName:"fmtp" type:"structure"`
  7186  
  7187  	// The audio language, in a format that is recognized by the receiver.
  7188  	Lang *string `locationName:"lang" type:"string"`
  7189  }
  7190  
  7191  // String returns the string representation.
  7192  //
  7193  // API parameter values that are decorated as "sensitive" in the API will not
  7194  // be included in the string output. The member name will be present, but the
  7195  // value will be replaced with "sensitive".
  7196  func (s MediaStreamAttributesRequest) String() string {
  7197  	return awsutil.Prettify(s)
  7198  }
  7199  
  7200  // GoString returns the string representation.
  7201  //
  7202  // API parameter values that are decorated as "sensitive" in the API will not
  7203  // be included in the string output. The member name will be present, but the
  7204  // value will be replaced with "sensitive".
  7205  func (s MediaStreamAttributesRequest) GoString() string {
  7206  	return s.String()
  7207  }
  7208  
  7209  // SetFmtp sets the Fmtp field's value.
  7210  func (s *MediaStreamAttributesRequest) SetFmtp(v *FmtpRequest) *MediaStreamAttributesRequest {
  7211  	s.Fmtp = v
  7212  	return s
  7213  }
  7214  
  7215  // SetLang sets the Lang field's value.
  7216  func (s *MediaStreamAttributesRequest) SetLang(v string) *MediaStreamAttributesRequest {
  7217  	s.Lang = &v
  7218  	return s
  7219  }
  7220  
  7221  // The media stream that is associated with the output, and the parameters for
  7222  // that association.
  7223  type MediaStreamOutputConfiguration struct {
  7224  	_ struct{} `type:"structure"`
  7225  
  7226  	// The transport parameters that are associated with each outbound media stream.
  7227  	DestinationConfigurations []*DestinationConfiguration `locationName:"destinationConfigurations" type:"list"`
  7228  
  7229  	// The format that was used to encode the data. For ancillary data streams,
  7230  	// set the encoding name to smpte291. For audio streams, set the encoding name
  7231  	// to pcm. For video, 2110 streams, set the encoding name to raw. For video,
  7232  	// JPEG XS streams, set the encoding name to jxsv.
  7233  	//
  7234  	// EncodingName is a required field
  7235  	EncodingName *string `locationName:"encodingName" type:"string" required:"true" enum:"EncodingName"`
  7236  
  7237  	// Encoding parameters
  7238  	EncodingParameters *EncodingParameters `locationName:"encodingParameters" type:"structure"`
  7239  
  7240  	// The name of the media stream.
  7241  	//
  7242  	// MediaStreamName is a required field
  7243  	MediaStreamName *string `locationName:"mediaStreamName" type:"string" required:"true"`
  7244  }
  7245  
  7246  // String returns the string representation.
  7247  //
  7248  // API parameter values that are decorated as "sensitive" in the API will not
  7249  // be included in the string output. The member name will be present, but the
  7250  // value will be replaced with "sensitive".
  7251  func (s MediaStreamOutputConfiguration) String() string {
  7252  	return awsutil.Prettify(s)
  7253  }
  7254  
  7255  // GoString returns the string representation.
  7256  //
  7257  // API parameter values that are decorated as "sensitive" in the API will not
  7258  // be included in the string output. The member name will be present, but the
  7259  // value will be replaced with "sensitive".
  7260  func (s MediaStreamOutputConfiguration) GoString() string {
  7261  	return s.String()
  7262  }
  7263  
  7264  // SetDestinationConfigurations sets the DestinationConfigurations field's value.
  7265  func (s *MediaStreamOutputConfiguration) SetDestinationConfigurations(v []*DestinationConfiguration) *MediaStreamOutputConfiguration {
  7266  	s.DestinationConfigurations = v
  7267  	return s
  7268  }
  7269  
  7270  // SetEncodingName sets the EncodingName field's value.
  7271  func (s *MediaStreamOutputConfiguration) SetEncodingName(v string) *MediaStreamOutputConfiguration {
  7272  	s.EncodingName = &v
  7273  	return s
  7274  }
  7275  
  7276  // SetEncodingParameters sets the EncodingParameters field's value.
  7277  func (s *MediaStreamOutputConfiguration) SetEncodingParameters(v *EncodingParameters) *MediaStreamOutputConfiguration {
  7278  	s.EncodingParameters = v
  7279  	return s
  7280  }
  7281  
  7282  // SetMediaStreamName sets the MediaStreamName field's value.
  7283  func (s *MediaStreamOutputConfiguration) SetMediaStreamName(v string) *MediaStreamOutputConfiguration {
  7284  	s.MediaStreamName = &v
  7285  	return s
  7286  }
  7287  
  7288  // The media stream that you want to associate with the output, and the parameters
  7289  // for that association.
  7290  type MediaStreamOutputConfigurationRequest struct {
  7291  	_ struct{} `type:"structure"`
  7292  
  7293  	// The transport parameters that you want to associate with the media stream.
  7294  	DestinationConfigurations []*DestinationConfigurationRequest `locationName:"destinationConfigurations" type:"list"`
  7295  
  7296  	// The format that will be used to encode the data. For ancillary data streams,
  7297  	// set the encoding name to smpte291. For audio streams, set the encoding name
  7298  	// to pcm. For video, 2110 streams, set the encoding name to raw. For video,
  7299  	// JPEG XS streams, set the encoding name to jxsv.
  7300  	//
  7301  	// EncodingName is a required field
  7302  	EncodingName *string `locationName:"encodingName" type:"string" required:"true" enum:"EncodingName"`
  7303  
  7304  	// A collection of parameters that determine how MediaConnect will convert the
  7305  	// content. These fields only apply to outputs on flows that have a CDI source.
  7306  	EncodingParameters *EncodingParametersRequest `locationName:"encodingParameters" type:"structure"`
  7307  
  7308  	// The name of the media stream that is associated with the output.
  7309  	//
  7310  	// MediaStreamName is a required field
  7311  	MediaStreamName *string `locationName:"mediaStreamName" type:"string" required:"true"`
  7312  }
  7313  
  7314  // String returns the string representation.
  7315  //
  7316  // API parameter values that are decorated as "sensitive" in the API will not
  7317  // be included in the string output. The member name will be present, but the
  7318  // value will be replaced with "sensitive".
  7319  func (s MediaStreamOutputConfigurationRequest) String() string {
  7320  	return awsutil.Prettify(s)
  7321  }
  7322  
  7323  // GoString returns the string representation.
  7324  //
  7325  // API parameter values that are decorated as "sensitive" in the API will not
  7326  // be included in the string output. The member name will be present, but the
  7327  // value will be replaced with "sensitive".
  7328  func (s MediaStreamOutputConfigurationRequest) GoString() string {
  7329  	return s.String()
  7330  }
  7331  
  7332  // Validate inspects the fields of the type to determine if they are valid.
  7333  func (s *MediaStreamOutputConfigurationRequest) Validate() error {
  7334  	invalidParams := request.ErrInvalidParams{Context: "MediaStreamOutputConfigurationRequest"}
  7335  	if s.EncodingName == nil {
  7336  		invalidParams.Add(request.NewErrParamRequired("EncodingName"))
  7337  	}
  7338  	if s.MediaStreamName == nil {
  7339  		invalidParams.Add(request.NewErrParamRequired("MediaStreamName"))
  7340  	}
  7341  	if s.DestinationConfigurations != nil {
  7342  		for i, v := range s.DestinationConfigurations {
  7343  			if v == nil {
  7344  				continue
  7345  			}
  7346  			if err := v.Validate(); err != nil {
  7347  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DestinationConfigurations", i), err.(request.ErrInvalidParams))
  7348  			}
  7349  		}
  7350  	}
  7351  	if s.EncodingParameters != nil {
  7352  		if err := s.EncodingParameters.Validate(); err != nil {
  7353  			invalidParams.AddNested("EncodingParameters", err.(request.ErrInvalidParams))
  7354  		}
  7355  	}
  7356  
  7357  	if invalidParams.Len() > 0 {
  7358  		return invalidParams
  7359  	}
  7360  	return nil
  7361  }
  7362  
  7363  // SetDestinationConfigurations sets the DestinationConfigurations field's value.
  7364  func (s *MediaStreamOutputConfigurationRequest) SetDestinationConfigurations(v []*DestinationConfigurationRequest) *MediaStreamOutputConfigurationRequest {
  7365  	s.DestinationConfigurations = v
  7366  	return s
  7367  }
  7368  
  7369  // SetEncodingName sets the EncodingName field's value.
  7370  func (s *MediaStreamOutputConfigurationRequest) SetEncodingName(v string) *MediaStreamOutputConfigurationRequest {
  7371  	s.EncodingName = &v
  7372  	return s
  7373  }
  7374  
  7375  // SetEncodingParameters sets the EncodingParameters field's value.
  7376  func (s *MediaStreamOutputConfigurationRequest) SetEncodingParameters(v *EncodingParametersRequest) *MediaStreamOutputConfigurationRequest {
  7377  	s.EncodingParameters = v
  7378  	return s
  7379  }
  7380  
  7381  // SetMediaStreamName sets the MediaStreamName field's value.
  7382  func (s *MediaStreamOutputConfigurationRequest) SetMediaStreamName(v string) *MediaStreamOutputConfigurationRequest {
  7383  	s.MediaStreamName = &v
  7384  	return s
  7385  }
  7386  
  7387  // The media stream that is associated with the source, and the parameters for
  7388  // that association.
  7389  type MediaStreamSourceConfiguration struct {
  7390  	_ struct{} `type:"structure"`
  7391  
  7392  	// The format that was used to encode the data. For ancillary data streams,
  7393  	// set the encoding name to smpte291. For audio streams, set the encoding name
  7394  	// to pcm. For video, 2110 streams, set the encoding name to raw. For video,
  7395  	// JPEG XS streams, set the encoding name to jxsv.
  7396  	//
  7397  	// EncodingName is a required field
  7398  	EncodingName *string `locationName:"encodingName" type:"string" required:"true" enum:"EncodingName"`
  7399  
  7400  	// The transport parameters that are associated with an incoming media stream.
  7401  	InputConfigurations []*InputConfiguration `locationName:"inputConfigurations" type:"list"`
  7402  
  7403  	// The name of the media stream.
  7404  	//
  7405  	// MediaStreamName is a required field
  7406  	MediaStreamName *string `locationName:"mediaStreamName" type:"string" required:"true"`
  7407  }
  7408  
  7409  // String returns the string representation.
  7410  //
  7411  // API parameter values that are decorated as "sensitive" in the API will not
  7412  // be included in the string output. The member name will be present, but the
  7413  // value will be replaced with "sensitive".
  7414  func (s MediaStreamSourceConfiguration) String() string {
  7415  	return awsutil.Prettify(s)
  7416  }
  7417  
  7418  // GoString returns the string representation.
  7419  //
  7420  // API parameter values that are decorated as "sensitive" in the API will not
  7421  // be included in the string output. The member name will be present, but the
  7422  // value will be replaced with "sensitive".
  7423  func (s MediaStreamSourceConfiguration) GoString() string {
  7424  	return s.String()
  7425  }
  7426  
  7427  // SetEncodingName sets the EncodingName field's value.
  7428  func (s *MediaStreamSourceConfiguration) SetEncodingName(v string) *MediaStreamSourceConfiguration {
  7429  	s.EncodingName = &v
  7430  	return s
  7431  }
  7432  
  7433  // SetInputConfigurations sets the InputConfigurations field's value.
  7434  func (s *MediaStreamSourceConfiguration) SetInputConfigurations(v []*InputConfiguration) *MediaStreamSourceConfiguration {
  7435  	s.InputConfigurations = v
  7436  	return s
  7437  }
  7438  
  7439  // SetMediaStreamName sets the MediaStreamName field's value.
  7440  func (s *MediaStreamSourceConfiguration) SetMediaStreamName(v string) *MediaStreamSourceConfiguration {
  7441  	s.MediaStreamName = &v
  7442  	return s
  7443  }
  7444  
  7445  // The definition of a media stream that you want to associate with the source.
  7446  type MediaStreamSourceConfigurationRequest struct {
  7447  	_ struct{} `type:"structure"`
  7448  
  7449  	// The format you want to use to encode the data. For ancillary data streams,
  7450  	// set the encoding name to smpte291. For audio streams, set the encoding name
  7451  	// to pcm. For video, 2110 streams, set the encoding name to raw. For video,
  7452  	// JPEG XS streams, set the encoding name to jxsv.
  7453  	//
  7454  	// EncodingName is a required field
  7455  	EncodingName *string `locationName:"encodingName" type:"string" required:"true" enum:"EncodingName"`
  7456  
  7457  	// The transport parameters that you want to associate with the media stream.
  7458  	InputConfigurations []*InputConfigurationRequest `locationName:"inputConfigurations" type:"list"`
  7459  
  7460  	// The name of the media stream.
  7461  	//
  7462  	// MediaStreamName is a required field
  7463  	MediaStreamName *string `locationName:"mediaStreamName" type:"string" required:"true"`
  7464  }
  7465  
  7466  // String returns the string representation.
  7467  //
  7468  // API parameter values that are decorated as "sensitive" in the API will not
  7469  // be included in the string output. The member name will be present, but the
  7470  // value will be replaced with "sensitive".
  7471  func (s MediaStreamSourceConfigurationRequest) String() string {
  7472  	return awsutil.Prettify(s)
  7473  }
  7474  
  7475  // GoString returns the string representation.
  7476  //
  7477  // API parameter values that are decorated as "sensitive" in the API will not
  7478  // be included in the string output. The member name will be present, but the
  7479  // value will be replaced with "sensitive".
  7480  func (s MediaStreamSourceConfigurationRequest) GoString() string {
  7481  	return s.String()
  7482  }
  7483  
  7484  // Validate inspects the fields of the type to determine if they are valid.
  7485  func (s *MediaStreamSourceConfigurationRequest) Validate() error {
  7486  	invalidParams := request.ErrInvalidParams{Context: "MediaStreamSourceConfigurationRequest"}
  7487  	if s.EncodingName == nil {
  7488  		invalidParams.Add(request.NewErrParamRequired("EncodingName"))
  7489  	}
  7490  	if s.MediaStreamName == nil {
  7491  		invalidParams.Add(request.NewErrParamRequired("MediaStreamName"))
  7492  	}
  7493  	if s.InputConfigurations != nil {
  7494  		for i, v := range s.InputConfigurations {
  7495  			if v == nil {
  7496  				continue
  7497  			}
  7498  			if err := v.Validate(); err != nil {
  7499  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputConfigurations", i), err.(request.ErrInvalidParams))
  7500  			}
  7501  		}
  7502  	}
  7503  
  7504  	if invalidParams.Len() > 0 {
  7505  		return invalidParams
  7506  	}
  7507  	return nil
  7508  }
  7509  
  7510  // SetEncodingName sets the EncodingName field's value.
  7511  func (s *MediaStreamSourceConfigurationRequest) SetEncodingName(v string) *MediaStreamSourceConfigurationRequest {
  7512  	s.EncodingName = &v
  7513  	return s
  7514  }
  7515  
  7516  // SetInputConfigurations sets the InputConfigurations field's value.
  7517  func (s *MediaStreamSourceConfigurationRequest) SetInputConfigurations(v []*InputConfigurationRequest) *MediaStreamSourceConfigurationRequest {
  7518  	s.InputConfigurations = v
  7519  	return s
  7520  }
  7521  
  7522  // SetMediaStreamName sets the MediaStreamName field's value.
  7523  func (s *MediaStreamSourceConfigurationRequest) SetMediaStreamName(v string) *MediaStreamSourceConfigurationRequest {
  7524  	s.MediaStreamName = &v
  7525  	return s
  7526  }
  7527  
  7528  // Messages that provide the state of the flow.
  7529  type Messages struct {
  7530  	_ struct{} `type:"structure"`
  7531  
  7532  	// A list of errors that might have been generated from processes on this flow.
  7533  	//
  7534  	// Errors is a required field
  7535  	Errors []*string `locationName:"errors" type:"list" required:"true"`
  7536  }
  7537  
  7538  // String returns the string representation.
  7539  //
  7540  // API parameter values that are decorated as "sensitive" in the API will not
  7541  // be included in the string output. The member name will be present, but the
  7542  // value will be replaced with "sensitive".
  7543  func (s Messages) String() string {
  7544  	return awsutil.Prettify(s)
  7545  }
  7546  
  7547  // GoString returns the string representation.
  7548  //
  7549  // API parameter values that are decorated as "sensitive" in the API will not
  7550  // be included in the string output. The member name will be present, but the
  7551  // value will be replaced with "sensitive".
  7552  func (s Messages) GoString() string {
  7553  	return s.String()
  7554  }
  7555  
  7556  // SetErrors sets the Errors field's value.
  7557  func (s *Messages) SetErrors(v []*string) *Messages {
  7558  	s.Errors = v
  7559  	return s
  7560  }
  7561  
  7562  // Exception raised by AWS Elemental MediaConnect. See the error message and
  7563  // documentation for the operation for more information on the cause of this
  7564  // exception.
  7565  type NotFoundException struct {
  7566  	_            struct{}                  `type:"structure"`
  7567  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7568  
  7569  	Message_ *string `locationName:"message" type:"string"`
  7570  }
  7571  
  7572  // String returns the string representation.
  7573  //
  7574  // API parameter values that are decorated as "sensitive" in the API will not
  7575  // be included in the string output. The member name will be present, but the
  7576  // value will be replaced with "sensitive".
  7577  func (s NotFoundException) String() string {
  7578  	return awsutil.Prettify(s)
  7579  }
  7580  
  7581  // GoString returns the string representation.
  7582  //
  7583  // API parameter values that are decorated as "sensitive" in the API will not
  7584  // be included in the string output. The member name will be present, but the
  7585  // value will be replaced with "sensitive".
  7586  func (s NotFoundException) GoString() string {
  7587  	return s.String()
  7588  }
  7589  
  7590  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
  7591  	return &NotFoundException{
  7592  		RespMetadata: v,
  7593  	}
  7594  }
  7595  
  7596  // Code returns the exception type name.
  7597  func (s *NotFoundException) Code() string {
  7598  	return "NotFoundException"
  7599  }
  7600  
  7601  // Message returns the exception's message.
  7602  func (s *NotFoundException) Message() string {
  7603  	if s.Message_ != nil {
  7604  		return *s.Message_
  7605  	}
  7606  	return ""
  7607  }
  7608  
  7609  // OrigErr always returns nil, satisfies awserr.Error interface.
  7610  func (s *NotFoundException) OrigErr() error {
  7611  	return nil
  7612  }
  7613  
  7614  func (s *NotFoundException) Error() string {
  7615  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7616  }
  7617  
  7618  // Status code returns the HTTP status code for the request's response error.
  7619  func (s *NotFoundException) StatusCode() int {
  7620  	return s.RespMetadata.StatusCode
  7621  }
  7622  
  7623  // RequestID returns the service's response RequestID for request.
  7624  func (s *NotFoundException) RequestID() string {
  7625  	return s.RespMetadata.RequestID
  7626  }
  7627  
  7628  // A savings plan that reserves a certain amount of outbound bandwidth usage
  7629  // at a discounted rate each month over a period of time.
  7630  type Offering struct {
  7631  	_ struct{} `type:"structure"`
  7632  
  7633  	// The type of currency that is used for billing. The currencyCode used for
  7634  	// all reservations is US dollars.
  7635  	//
  7636  	// CurrencyCode is a required field
  7637  	CurrencyCode *string `locationName:"currencyCode" type:"string" required:"true"`
  7638  
  7639  	// The length of time that your reservation would be active.
  7640  	//
  7641  	// Duration is a required field
  7642  	Duration *int64 `locationName:"duration" type:"integer" required:"true"`
  7643  
  7644  	// The unit of measurement for the duration of the offering.
  7645  	//
  7646  	// DurationUnits is a required field
  7647  	DurationUnits *string `locationName:"durationUnits" type:"string" required:"true" enum:"DurationUnits"`
  7648  
  7649  	// The Amazon Resource Name (ARN) that MediaConnect assigns to the offering.
  7650  	//
  7651  	// OfferingArn is a required field
  7652  	OfferingArn *string `locationName:"offeringArn" type:"string" required:"true"`
  7653  
  7654  	// A description of the offering.
  7655  	//
  7656  	// OfferingDescription is a required field
  7657  	OfferingDescription *string `locationName:"offeringDescription" type:"string" required:"true"`
  7658  
  7659  	// The cost of a single unit. This value, in combination with priceUnits, makes
  7660  	// up the rate.
  7661  	//
  7662  	// PricePerUnit is a required field
  7663  	PricePerUnit *string `locationName:"pricePerUnit" type:"string" required:"true"`
  7664  
  7665  	// The unit of measurement that is used for billing. This value, in combination
  7666  	// with pricePerUnit, makes up the rate.
  7667  	//
  7668  	// PriceUnits is a required field
  7669  	PriceUnits *string `locationName:"priceUnits" type:"string" required:"true" enum:"PriceUnits"`
  7670  
  7671  	// A definition of the amount of outbound bandwidth that you would be reserving
  7672  	// if you purchase the offering.
  7673  	//
  7674  	// ResourceSpecification is a required field
  7675  	ResourceSpecification *ResourceSpecification `locationName:"resourceSpecification" type:"structure" required:"true"`
  7676  }
  7677  
  7678  // String returns the string representation.
  7679  //
  7680  // API parameter values that are decorated as "sensitive" in the API will not
  7681  // be included in the string output. The member name will be present, but the
  7682  // value will be replaced with "sensitive".
  7683  func (s Offering) String() string {
  7684  	return awsutil.Prettify(s)
  7685  }
  7686  
  7687  // GoString returns the string representation.
  7688  //
  7689  // API parameter values that are decorated as "sensitive" in the API will not
  7690  // be included in the string output. The member name will be present, but the
  7691  // value will be replaced with "sensitive".
  7692  func (s Offering) GoString() string {
  7693  	return s.String()
  7694  }
  7695  
  7696  // SetCurrencyCode sets the CurrencyCode field's value.
  7697  func (s *Offering) SetCurrencyCode(v string) *Offering {
  7698  	s.CurrencyCode = &v
  7699  	return s
  7700  }
  7701  
  7702  // SetDuration sets the Duration field's value.
  7703  func (s *Offering) SetDuration(v int64) *Offering {
  7704  	s.Duration = &v
  7705  	return s
  7706  }
  7707  
  7708  // SetDurationUnits sets the DurationUnits field's value.
  7709  func (s *Offering) SetDurationUnits(v string) *Offering {
  7710  	s.DurationUnits = &v
  7711  	return s
  7712  }
  7713  
  7714  // SetOfferingArn sets the OfferingArn field's value.
  7715  func (s *Offering) SetOfferingArn(v string) *Offering {
  7716  	s.OfferingArn = &v
  7717  	return s
  7718  }
  7719  
  7720  // SetOfferingDescription sets the OfferingDescription field's value.
  7721  func (s *Offering) SetOfferingDescription(v string) *Offering {
  7722  	s.OfferingDescription = &v
  7723  	return s
  7724  }
  7725  
  7726  // SetPricePerUnit sets the PricePerUnit field's value.
  7727  func (s *Offering) SetPricePerUnit(v string) *Offering {
  7728  	s.PricePerUnit = &v
  7729  	return s
  7730  }
  7731  
  7732  // SetPriceUnits sets the PriceUnits field's value.
  7733  func (s *Offering) SetPriceUnits(v string) *Offering {
  7734  	s.PriceUnits = &v
  7735  	return s
  7736  }
  7737  
  7738  // SetResourceSpecification sets the ResourceSpecification field's value.
  7739  func (s *Offering) SetResourceSpecification(v *ResourceSpecification) *Offering {
  7740  	s.ResourceSpecification = v
  7741  	return s
  7742  }
  7743  
  7744  // The settings for an output.
  7745  type Output struct {
  7746  	_ struct{} `type:"structure"`
  7747  
  7748  	// Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
  7749  	DataTransferSubscriberFeePercent *int64 `locationName:"dataTransferSubscriberFeePercent" type:"integer"`
  7750  
  7751  	// A description of the output.
  7752  	Description *string `locationName:"description" type:"string"`
  7753  
  7754  	// The address where you want to send the output.
  7755  	Destination *string `locationName:"destination" type:"string"`
  7756  
  7757  	// The type of key used for the encryption. If no keyType is provided, the service
  7758  	// will use the default setting (static-key).
  7759  	Encryption *Encryption `locationName:"encryption" type:"structure"`
  7760  
  7761  	// The ARN of the entitlement on the originator''s flow. This value is relevant
  7762  	// only on entitled flows.
  7763  	EntitlementArn *string `locationName:"entitlementArn" type:"string"`
  7764  
  7765  	// The IP address that the receiver requires in order to establish a connection
  7766  	// with the flow. For public networking, the ListenerAddress is represented
  7767  	// by the elastic IP address of the flow. For private networking, the ListenerAddress
  7768  	// is represented by the elastic network interface IP address of the VPC. This
  7769  	// field applies only to outputs that use the Zixi pull or SRT listener protocol.
  7770  	ListenerAddress *string `locationName:"listenerAddress" type:"string"`
  7771  
  7772  	// The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant
  7773  	// only for outputs that were added by creating a MediaLive input.
  7774  	MediaLiveInputArn *string `locationName:"mediaLiveInputArn" type:"string"`
  7775  
  7776  	// The configuration for each media stream that is associated with the output.
  7777  	MediaStreamOutputConfigurations []*MediaStreamOutputConfiguration `locationName:"mediaStreamOutputConfigurations" type:"list"`
  7778  
  7779  	// The name of the output. This value must be unique within the current flow.
  7780  	//
  7781  	// Name is a required field
  7782  	Name *string `locationName:"name" type:"string" required:"true"`
  7783  
  7784  	// The ARN of the output.
  7785  	//
  7786  	// OutputArn is a required field
  7787  	OutputArn *string `locationName:"outputArn" type:"string" required:"true"`
  7788  
  7789  	// The port to use when content is distributed to this output.
  7790  	Port *int64 `locationName:"port" type:"integer"`
  7791  
  7792  	// Attributes related to the transport stream that are used in the output.
  7793  	Transport *Transport `locationName:"transport" type:"structure"`
  7794  
  7795  	// The name of the VPC interface attachment to use for this output.
  7796  	VpcInterfaceAttachment *VpcInterfaceAttachment `locationName:"vpcInterfaceAttachment" type:"structure"`
  7797  }
  7798  
  7799  // String returns the string representation.
  7800  //
  7801  // API parameter values that are decorated as "sensitive" in the API will not
  7802  // be included in the string output. The member name will be present, but the
  7803  // value will be replaced with "sensitive".
  7804  func (s Output) String() string {
  7805  	return awsutil.Prettify(s)
  7806  }
  7807  
  7808  // GoString returns the string representation.
  7809  //
  7810  // API parameter values that are decorated as "sensitive" in the API will not
  7811  // be included in the string output. The member name will be present, but the
  7812  // value will be replaced with "sensitive".
  7813  func (s Output) GoString() string {
  7814  	return s.String()
  7815  }
  7816  
  7817  // SetDataTransferSubscriberFeePercent sets the DataTransferSubscriberFeePercent field's value.
  7818  func (s *Output) SetDataTransferSubscriberFeePercent(v int64) *Output {
  7819  	s.DataTransferSubscriberFeePercent = &v
  7820  	return s
  7821  }
  7822  
  7823  // SetDescription sets the Description field's value.
  7824  func (s *Output) SetDescription(v string) *Output {
  7825  	s.Description = &v
  7826  	return s
  7827  }
  7828  
  7829  // SetDestination sets the Destination field's value.
  7830  func (s *Output) SetDestination(v string) *Output {
  7831  	s.Destination = &v
  7832  	return s
  7833  }
  7834  
  7835  // SetEncryption sets the Encryption field's value.
  7836  func (s *Output) SetEncryption(v *Encryption) *Output {
  7837  	s.Encryption = v
  7838  	return s
  7839  }
  7840  
  7841  // SetEntitlementArn sets the EntitlementArn field's value.
  7842  func (s *Output) SetEntitlementArn(v string) *Output {
  7843  	s.EntitlementArn = &v
  7844  	return s
  7845  }
  7846  
  7847  // SetListenerAddress sets the ListenerAddress field's value.
  7848  func (s *Output) SetListenerAddress(v string) *Output {
  7849  	s.ListenerAddress = &v
  7850  	return s
  7851  }
  7852  
  7853  // SetMediaLiveInputArn sets the MediaLiveInputArn field's value.
  7854  func (s *Output) SetMediaLiveInputArn(v string) *Output {
  7855  	s.MediaLiveInputArn = &v
  7856  	return s
  7857  }
  7858  
  7859  // SetMediaStreamOutputConfigurations sets the MediaStreamOutputConfigurations field's value.
  7860  func (s *Output) SetMediaStreamOutputConfigurations(v []*MediaStreamOutputConfiguration) *Output {
  7861  	s.MediaStreamOutputConfigurations = v
  7862  	return s
  7863  }
  7864  
  7865  // SetName sets the Name field's value.
  7866  func (s *Output) SetName(v string) *Output {
  7867  	s.Name = &v
  7868  	return s
  7869  }
  7870  
  7871  // SetOutputArn sets the OutputArn field's value.
  7872  func (s *Output) SetOutputArn(v string) *Output {
  7873  	s.OutputArn = &v
  7874  	return s
  7875  }
  7876  
  7877  // SetPort sets the Port field's value.
  7878  func (s *Output) SetPort(v int64) *Output {
  7879  	s.Port = &v
  7880  	return s
  7881  }
  7882  
  7883  // SetTransport sets the Transport field's value.
  7884  func (s *Output) SetTransport(v *Transport) *Output {
  7885  	s.Transport = v
  7886  	return s
  7887  }
  7888  
  7889  // SetVpcInterfaceAttachment sets the VpcInterfaceAttachment field's value.
  7890  func (s *Output) SetVpcInterfaceAttachment(v *VpcInterfaceAttachment) *Output {
  7891  	s.VpcInterfaceAttachment = v
  7892  	return s
  7893  }
  7894  
  7895  // Submits a request to purchase an offering, which creates a reservation in
  7896  // your AWS account. If you already have an active reservation, you can't purchase
  7897  // another offering.
  7898  type PurchaseOfferingInput struct {
  7899  	_ struct{} `type:"structure"`
  7900  
  7901  	// OfferingArn is a required field
  7902  	OfferingArn *string `location:"uri" locationName:"offeringArn" type:"string" required:"true"`
  7903  
  7904  	// The name that you want to use for the reservation.
  7905  	//
  7906  	// ReservationName is a required field
  7907  	ReservationName *string `locationName:"reservationName" type:"string" required:"true"`
  7908  
  7909  	// The date and time that you want the reservation to begin, in Coordinated
  7910  	// Universal Time (UTC). You can specify any date and time between 12:00am on
  7911  	// the first day of the current month to the current time on today's date, inclusive.
  7912  	// Specify the start in a 24-hour notation. Use the following format: YYYY-MM-DDTHH:mm:SSZ,
  7913  	// where T and Z are literal characters. For example, to specify 11:30pm on
  7914  	// March 5, 2020, enter 2020-03-05T23:30:00Z.
  7915  	//
  7916  	// Start is a required field
  7917  	Start *string `locationName:"start" type:"string" required:"true"`
  7918  }
  7919  
  7920  // String returns the string representation.
  7921  //
  7922  // API parameter values that are decorated as "sensitive" in the API will not
  7923  // be included in the string output. The member name will be present, but the
  7924  // value will be replaced with "sensitive".
  7925  func (s PurchaseOfferingInput) String() string {
  7926  	return awsutil.Prettify(s)
  7927  }
  7928  
  7929  // GoString returns the string representation.
  7930  //
  7931  // API parameter values that are decorated as "sensitive" in the API will not
  7932  // be included in the string output. The member name will be present, but the
  7933  // value will be replaced with "sensitive".
  7934  func (s PurchaseOfferingInput) GoString() string {
  7935  	return s.String()
  7936  }
  7937  
  7938  // Validate inspects the fields of the type to determine if they are valid.
  7939  func (s *PurchaseOfferingInput) Validate() error {
  7940  	invalidParams := request.ErrInvalidParams{Context: "PurchaseOfferingInput"}
  7941  	if s.OfferingArn == nil {
  7942  		invalidParams.Add(request.NewErrParamRequired("OfferingArn"))
  7943  	}
  7944  	if s.OfferingArn != nil && len(*s.OfferingArn) < 1 {
  7945  		invalidParams.Add(request.NewErrParamMinLen("OfferingArn", 1))
  7946  	}
  7947  	if s.ReservationName == nil {
  7948  		invalidParams.Add(request.NewErrParamRequired("ReservationName"))
  7949  	}
  7950  	if s.Start == nil {
  7951  		invalidParams.Add(request.NewErrParamRequired("Start"))
  7952  	}
  7953  
  7954  	if invalidParams.Len() > 0 {
  7955  		return invalidParams
  7956  	}
  7957  	return nil
  7958  }
  7959  
  7960  // SetOfferingArn sets the OfferingArn field's value.
  7961  func (s *PurchaseOfferingInput) SetOfferingArn(v string) *PurchaseOfferingInput {
  7962  	s.OfferingArn = &v
  7963  	return s
  7964  }
  7965  
  7966  // SetReservationName sets the ReservationName field's value.
  7967  func (s *PurchaseOfferingInput) SetReservationName(v string) *PurchaseOfferingInput {
  7968  	s.ReservationName = &v
  7969  	return s
  7970  }
  7971  
  7972  // SetStart sets the Start field's value.
  7973  func (s *PurchaseOfferingInput) SetStart(v string) *PurchaseOfferingInput {
  7974  	s.Start = &v
  7975  	return s
  7976  }
  7977  
  7978  // The result of a successful PurchaseOffering request.
  7979  type PurchaseOfferingOutput struct {
  7980  	_ struct{} `type:"structure"`
  7981  
  7982  	// A pricing agreement for a discounted rate for a specific outbound bandwidth
  7983  	// that your MediaConnect account will use each month over a specific time period.
  7984  	// The discounted rate in the reservation applies to outbound bandwidth for
  7985  	// all flows from your account until your account reaches the amount of bandwidth
  7986  	// in your reservation. If you use more outbound bandwidth than the agreed upon
  7987  	// amount in a single month, the overage is charged at the on-demand rate.
  7988  	Reservation *Reservation `locationName:"reservation" type:"structure"`
  7989  }
  7990  
  7991  // String returns the string representation.
  7992  //
  7993  // API parameter values that are decorated as "sensitive" in the API will not
  7994  // be included in the string output. The member name will be present, but the
  7995  // value will be replaced with "sensitive".
  7996  func (s PurchaseOfferingOutput) String() string {
  7997  	return awsutil.Prettify(s)
  7998  }
  7999  
  8000  // GoString returns the string representation.
  8001  //
  8002  // API parameter values that are decorated as "sensitive" in the API will not
  8003  // be included in the string output. The member name will be present, but the
  8004  // value will be replaced with "sensitive".
  8005  func (s PurchaseOfferingOutput) GoString() string {
  8006  	return s.String()
  8007  }
  8008  
  8009  // SetReservation sets the Reservation field's value.
  8010  func (s *PurchaseOfferingOutput) SetReservation(v *Reservation) *PurchaseOfferingOutput {
  8011  	s.Reservation = v
  8012  	return s
  8013  }
  8014  
  8015  type RemoveFlowMediaStreamInput struct {
  8016  	_ struct{} `type:"structure" nopayload:"true"`
  8017  
  8018  	// FlowArn is a required field
  8019  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  8020  
  8021  	// MediaStreamName is a required field
  8022  	MediaStreamName *string `location:"uri" locationName:"mediaStreamName" type:"string" required:"true"`
  8023  }
  8024  
  8025  // String returns the string representation.
  8026  //
  8027  // API parameter values that are decorated as "sensitive" in the API will not
  8028  // be included in the string output. The member name will be present, but the
  8029  // value will be replaced with "sensitive".
  8030  func (s RemoveFlowMediaStreamInput) String() string {
  8031  	return awsutil.Prettify(s)
  8032  }
  8033  
  8034  // GoString returns the string representation.
  8035  //
  8036  // API parameter values that are decorated as "sensitive" in the API will not
  8037  // be included in the string output. The member name will be present, but the
  8038  // value will be replaced with "sensitive".
  8039  func (s RemoveFlowMediaStreamInput) GoString() string {
  8040  	return s.String()
  8041  }
  8042  
  8043  // Validate inspects the fields of the type to determine if they are valid.
  8044  func (s *RemoveFlowMediaStreamInput) Validate() error {
  8045  	invalidParams := request.ErrInvalidParams{Context: "RemoveFlowMediaStreamInput"}
  8046  	if s.FlowArn == nil {
  8047  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  8048  	}
  8049  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  8050  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  8051  	}
  8052  	if s.MediaStreamName == nil {
  8053  		invalidParams.Add(request.NewErrParamRequired("MediaStreamName"))
  8054  	}
  8055  	if s.MediaStreamName != nil && len(*s.MediaStreamName) < 1 {
  8056  		invalidParams.Add(request.NewErrParamMinLen("MediaStreamName", 1))
  8057  	}
  8058  
  8059  	if invalidParams.Len() > 0 {
  8060  		return invalidParams
  8061  	}
  8062  	return nil
  8063  }
  8064  
  8065  // SetFlowArn sets the FlowArn field's value.
  8066  func (s *RemoveFlowMediaStreamInput) SetFlowArn(v string) *RemoveFlowMediaStreamInput {
  8067  	s.FlowArn = &v
  8068  	return s
  8069  }
  8070  
  8071  // SetMediaStreamName sets the MediaStreamName field's value.
  8072  func (s *RemoveFlowMediaStreamInput) SetMediaStreamName(v string) *RemoveFlowMediaStreamInput {
  8073  	s.MediaStreamName = &v
  8074  	return s
  8075  }
  8076  
  8077  // The result of a successful RemoveFlowMediaStream request.
  8078  type RemoveFlowMediaStreamOutput struct {
  8079  	_ struct{} `type:"structure"`
  8080  
  8081  	// The Amazon Resource Name (ARN) of the flow.
  8082  	FlowArn *string `locationName:"flowArn" type:"string"`
  8083  
  8084  	// The name of the media stream that was removed.
  8085  	MediaStreamName *string `locationName:"mediaStreamName" type:"string"`
  8086  }
  8087  
  8088  // String returns the string representation.
  8089  //
  8090  // API parameter values that are decorated as "sensitive" in the API will not
  8091  // be included in the string output. The member name will be present, but the
  8092  // value will be replaced with "sensitive".
  8093  func (s RemoveFlowMediaStreamOutput) String() string {
  8094  	return awsutil.Prettify(s)
  8095  }
  8096  
  8097  // GoString returns the string representation.
  8098  //
  8099  // API parameter values that are decorated as "sensitive" in the API will not
  8100  // be included in the string output. The member name will be present, but the
  8101  // value will be replaced with "sensitive".
  8102  func (s RemoveFlowMediaStreamOutput) GoString() string {
  8103  	return s.String()
  8104  }
  8105  
  8106  // SetFlowArn sets the FlowArn field's value.
  8107  func (s *RemoveFlowMediaStreamOutput) SetFlowArn(v string) *RemoveFlowMediaStreamOutput {
  8108  	s.FlowArn = &v
  8109  	return s
  8110  }
  8111  
  8112  // SetMediaStreamName sets the MediaStreamName field's value.
  8113  func (s *RemoveFlowMediaStreamOutput) SetMediaStreamName(v string) *RemoveFlowMediaStreamOutput {
  8114  	s.MediaStreamName = &v
  8115  	return s
  8116  }
  8117  
  8118  type RemoveFlowOutputInput struct {
  8119  	_ struct{} `type:"structure" nopayload:"true"`
  8120  
  8121  	// FlowArn is a required field
  8122  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  8123  
  8124  	// OutputArn is a required field
  8125  	OutputArn *string `location:"uri" locationName:"outputArn" type:"string" required:"true"`
  8126  }
  8127  
  8128  // String returns the string representation.
  8129  //
  8130  // API parameter values that are decorated as "sensitive" in the API will not
  8131  // be included in the string output. The member name will be present, but the
  8132  // value will be replaced with "sensitive".
  8133  func (s RemoveFlowOutputInput) String() string {
  8134  	return awsutil.Prettify(s)
  8135  }
  8136  
  8137  // GoString returns the string representation.
  8138  //
  8139  // API parameter values that are decorated as "sensitive" in the API will not
  8140  // be included in the string output. The member name will be present, but the
  8141  // value will be replaced with "sensitive".
  8142  func (s RemoveFlowOutputInput) GoString() string {
  8143  	return s.String()
  8144  }
  8145  
  8146  // Validate inspects the fields of the type to determine if they are valid.
  8147  func (s *RemoveFlowOutputInput) Validate() error {
  8148  	invalidParams := request.ErrInvalidParams{Context: "RemoveFlowOutputInput"}
  8149  	if s.FlowArn == nil {
  8150  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  8151  	}
  8152  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  8153  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  8154  	}
  8155  	if s.OutputArn == nil {
  8156  		invalidParams.Add(request.NewErrParamRequired("OutputArn"))
  8157  	}
  8158  	if s.OutputArn != nil && len(*s.OutputArn) < 1 {
  8159  		invalidParams.Add(request.NewErrParamMinLen("OutputArn", 1))
  8160  	}
  8161  
  8162  	if invalidParams.Len() > 0 {
  8163  		return invalidParams
  8164  	}
  8165  	return nil
  8166  }
  8167  
  8168  // SetFlowArn sets the FlowArn field's value.
  8169  func (s *RemoveFlowOutputInput) SetFlowArn(v string) *RemoveFlowOutputInput {
  8170  	s.FlowArn = &v
  8171  	return s
  8172  }
  8173  
  8174  // SetOutputArn sets the OutputArn field's value.
  8175  func (s *RemoveFlowOutputInput) SetOutputArn(v string) *RemoveFlowOutputInput {
  8176  	s.OutputArn = &v
  8177  	return s
  8178  }
  8179  
  8180  // The result of a successful RemoveFlowOutput request including the flow ARN
  8181  // and the output ARN that was removed.
  8182  type RemoveFlowOutputOutput struct {
  8183  	_ struct{} `type:"structure"`
  8184  
  8185  	// The ARN of the flow that is associated with the output you removed.
  8186  	FlowArn *string `locationName:"flowArn" type:"string"`
  8187  
  8188  	// The ARN of the output that was removed.
  8189  	OutputArn *string `locationName:"outputArn" type:"string"`
  8190  }
  8191  
  8192  // String returns the string representation.
  8193  //
  8194  // API parameter values that are decorated as "sensitive" in the API will not
  8195  // be included in the string output. The member name will be present, but the
  8196  // value will be replaced with "sensitive".
  8197  func (s RemoveFlowOutputOutput) String() string {
  8198  	return awsutil.Prettify(s)
  8199  }
  8200  
  8201  // GoString returns the string representation.
  8202  //
  8203  // API parameter values that are decorated as "sensitive" in the API will not
  8204  // be included in the string output. The member name will be present, but the
  8205  // value will be replaced with "sensitive".
  8206  func (s RemoveFlowOutputOutput) GoString() string {
  8207  	return s.String()
  8208  }
  8209  
  8210  // SetFlowArn sets the FlowArn field's value.
  8211  func (s *RemoveFlowOutputOutput) SetFlowArn(v string) *RemoveFlowOutputOutput {
  8212  	s.FlowArn = &v
  8213  	return s
  8214  }
  8215  
  8216  // SetOutputArn sets the OutputArn field's value.
  8217  func (s *RemoveFlowOutputOutput) SetOutputArn(v string) *RemoveFlowOutputOutput {
  8218  	s.OutputArn = &v
  8219  	return s
  8220  }
  8221  
  8222  type RemoveFlowSourceInput struct {
  8223  	_ struct{} `type:"structure" nopayload:"true"`
  8224  
  8225  	// FlowArn is a required field
  8226  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  8227  
  8228  	// SourceArn is a required field
  8229  	SourceArn *string `location:"uri" locationName:"sourceArn" type:"string" required:"true"`
  8230  }
  8231  
  8232  // String returns the string representation.
  8233  //
  8234  // API parameter values that are decorated as "sensitive" in the API will not
  8235  // be included in the string output. The member name will be present, but the
  8236  // value will be replaced with "sensitive".
  8237  func (s RemoveFlowSourceInput) String() string {
  8238  	return awsutil.Prettify(s)
  8239  }
  8240  
  8241  // GoString returns the string representation.
  8242  //
  8243  // API parameter values that are decorated as "sensitive" in the API will not
  8244  // be included in the string output. The member name will be present, but the
  8245  // value will be replaced with "sensitive".
  8246  func (s RemoveFlowSourceInput) GoString() string {
  8247  	return s.String()
  8248  }
  8249  
  8250  // Validate inspects the fields of the type to determine if they are valid.
  8251  func (s *RemoveFlowSourceInput) Validate() error {
  8252  	invalidParams := request.ErrInvalidParams{Context: "RemoveFlowSourceInput"}
  8253  	if s.FlowArn == nil {
  8254  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  8255  	}
  8256  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  8257  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  8258  	}
  8259  	if s.SourceArn == nil {
  8260  		invalidParams.Add(request.NewErrParamRequired("SourceArn"))
  8261  	}
  8262  	if s.SourceArn != nil && len(*s.SourceArn) < 1 {
  8263  		invalidParams.Add(request.NewErrParamMinLen("SourceArn", 1))
  8264  	}
  8265  
  8266  	if invalidParams.Len() > 0 {
  8267  		return invalidParams
  8268  	}
  8269  	return nil
  8270  }
  8271  
  8272  // SetFlowArn sets the FlowArn field's value.
  8273  func (s *RemoveFlowSourceInput) SetFlowArn(v string) *RemoveFlowSourceInput {
  8274  	s.FlowArn = &v
  8275  	return s
  8276  }
  8277  
  8278  // SetSourceArn sets the SourceArn field's value.
  8279  func (s *RemoveFlowSourceInput) SetSourceArn(v string) *RemoveFlowSourceInput {
  8280  	s.SourceArn = &v
  8281  	return s
  8282  }
  8283  
  8284  // The result of a successful RemoveFlowSource request including the flow ARN
  8285  // and the source ARN that was removed.
  8286  type RemoveFlowSourceOutput struct {
  8287  	_ struct{} `type:"structure"`
  8288  
  8289  	// The ARN of the flow that is associated with the source you removed.
  8290  	FlowArn *string `locationName:"flowArn" type:"string"`
  8291  
  8292  	// The ARN of the source that was removed.
  8293  	SourceArn *string `locationName:"sourceArn" type:"string"`
  8294  }
  8295  
  8296  // String returns the string representation.
  8297  //
  8298  // API parameter values that are decorated as "sensitive" in the API will not
  8299  // be included in the string output. The member name will be present, but the
  8300  // value will be replaced with "sensitive".
  8301  func (s RemoveFlowSourceOutput) String() string {
  8302  	return awsutil.Prettify(s)
  8303  }
  8304  
  8305  // GoString returns the string representation.
  8306  //
  8307  // API parameter values that are decorated as "sensitive" in the API will not
  8308  // be included in the string output. The member name will be present, but the
  8309  // value will be replaced with "sensitive".
  8310  func (s RemoveFlowSourceOutput) GoString() string {
  8311  	return s.String()
  8312  }
  8313  
  8314  // SetFlowArn sets the FlowArn field's value.
  8315  func (s *RemoveFlowSourceOutput) SetFlowArn(v string) *RemoveFlowSourceOutput {
  8316  	s.FlowArn = &v
  8317  	return s
  8318  }
  8319  
  8320  // SetSourceArn sets the SourceArn field's value.
  8321  func (s *RemoveFlowSourceOutput) SetSourceArn(v string) *RemoveFlowSourceOutput {
  8322  	s.SourceArn = &v
  8323  	return s
  8324  }
  8325  
  8326  type RemoveFlowVpcInterfaceInput struct {
  8327  	_ struct{} `type:"structure" nopayload:"true"`
  8328  
  8329  	// FlowArn is a required field
  8330  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  8331  
  8332  	// VpcInterfaceName is a required field
  8333  	VpcInterfaceName *string `location:"uri" locationName:"vpcInterfaceName" type:"string" required:"true"`
  8334  }
  8335  
  8336  // String returns the string representation.
  8337  //
  8338  // API parameter values that are decorated as "sensitive" in the API will not
  8339  // be included in the string output. The member name will be present, but the
  8340  // value will be replaced with "sensitive".
  8341  func (s RemoveFlowVpcInterfaceInput) String() string {
  8342  	return awsutil.Prettify(s)
  8343  }
  8344  
  8345  // GoString returns the string representation.
  8346  //
  8347  // API parameter values that are decorated as "sensitive" in the API will not
  8348  // be included in the string output. The member name will be present, but the
  8349  // value will be replaced with "sensitive".
  8350  func (s RemoveFlowVpcInterfaceInput) GoString() string {
  8351  	return s.String()
  8352  }
  8353  
  8354  // Validate inspects the fields of the type to determine if they are valid.
  8355  func (s *RemoveFlowVpcInterfaceInput) Validate() error {
  8356  	invalidParams := request.ErrInvalidParams{Context: "RemoveFlowVpcInterfaceInput"}
  8357  	if s.FlowArn == nil {
  8358  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  8359  	}
  8360  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  8361  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  8362  	}
  8363  	if s.VpcInterfaceName == nil {
  8364  		invalidParams.Add(request.NewErrParamRequired("VpcInterfaceName"))
  8365  	}
  8366  	if s.VpcInterfaceName != nil && len(*s.VpcInterfaceName) < 1 {
  8367  		invalidParams.Add(request.NewErrParamMinLen("VpcInterfaceName", 1))
  8368  	}
  8369  
  8370  	if invalidParams.Len() > 0 {
  8371  		return invalidParams
  8372  	}
  8373  	return nil
  8374  }
  8375  
  8376  // SetFlowArn sets the FlowArn field's value.
  8377  func (s *RemoveFlowVpcInterfaceInput) SetFlowArn(v string) *RemoveFlowVpcInterfaceInput {
  8378  	s.FlowArn = &v
  8379  	return s
  8380  }
  8381  
  8382  // SetVpcInterfaceName sets the VpcInterfaceName field's value.
  8383  func (s *RemoveFlowVpcInterfaceInput) SetVpcInterfaceName(v string) *RemoveFlowVpcInterfaceInput {
  8384  	s.VpcInterfaceName = &v
  8385  	return s
  8386  }
  8387  
  8388  // The result of a successful RemoveFlowVpcInterface request including the flow
  8389  // ARN and the VPC interface name that was removed.
  8390  type RemoveFlowVpcInterfaceOutput struct {
  8391  	_ struct{} `type:"structure"`
  8392  
  8393  	// The ARN of the flow that is associated with the VPC interface you removed.
  8394  	FlowArn *string `locationName:"flowArn" type:"string"`
  8395  
  8396  	// IDs of network interfaces associated with the removed VPC interface that
  8397  	// Media Connect was unable to remove.
  8398  	NonDeletedNetworkInterfaceIds []*string `locationName:"nonDeletedNetworkInterfaceIds" type:"list"`
  8399  
  8400  	// The name of the VPC interface that was removed.
  8401  	VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"`
  8402  }
  8403  
  8404  // String returns the string representation.
  8405  //
  8406  // API parameter values that are decorated as "sensitive" in the API will not
  8407  // be included in the string output. The member name will be present, but the
  8408  // value will be replaced with "sensitive".
  8409  func (s RemoveFlowVpcInterfaceOutput) String() string {
  8410  	return awsutil.Prettify(s)
  8411  }
  8412  
  8413  // GoString returns the string representation.
  8414  //
  8415  // API parameter values that are decorated as "sensitive" in the API will not
  8416  // be included in the string output. The member name will be present, but the
  8417  // value will be replaced with "sensitive".
  8418  func (s RemoveFlowVpcInterfaceOutput) GoString() string {
  8419  	return s.String()
  8420  }
  8421  
  8422  // SetFlowArn sets the FlowArn field's value.
  8423  func (s *RemoveFlowVpcInterfaceOutput) SetFlowArn(v string) *RemoveFlowVpcInterfaceOutput {
  8424  	s.FlowArn = &v
  8425  	return s
  8426  }
  8427  
  8428  // SetNonDeletedNetworkInterfaceIds sets the NonDeletedNetworkInterfaceIds field's value.
  8429  func (s *RemoveFlowVpcInterfaceOutput) SetNonDeletedNetworkInterfaceIds(v []*string) *RemoveFlowVpcInterfaceOutput {
  8430  	s.NonDeletedNetworkInterfaceIds = v
  8431  	return s
  8432  }
  8433  
  8434  // SetVpcInterfaceName sets the VpcInterfaceName field's value.
  8435  func (s *RemoveFlowVpcInterfaceOutput) SetVpcInterfaceName(v string) *RemoveFlowVpcInterfaceOutput {
  8436  	s.VpcInterfaceName = &v
  8437  	return s
  8438  }
  8439  
  8440  // A pricing agreement for a discounted rate for a specific outbound bandwidth
  8441  // that your MediaConnect account will use each month over a specific time period.
  8442  // The discounted rate in the reservation applies to outbound bandwidth for
  8443  // all flows from your account until your account reaches the amount of bandwidth
  8444  // in your reservation. If you use more outbound bandwidth than the agreed upon
  8445  // amount in a single month, the overage is charged at the on-demand rate.
  8446  type Reservation struct {
  8447  	_ struct{} `type:"structure"`
  8448  
  8449  	// The type of currency that is used for billing. The currencyCode used for
  8450  	// your reservation is US dollars.
  8451  	//
  8452  	// CurrencyCode is a required field
  8453  	CurrencyCode *string `locationName:"currencyCode" type:"string" required:"true"`
  8454  
  8455  	// The length of time that this reservation is active. MediaConnect defines
  8456  	// this value in the offering.
  8457  	//
  8458  	// Duration is a required field
  8459  	Duration *int64 `locationName:"duration" type:"integer" required:"true"`
  8460  
  8461  	// The unit of measurement for the duration of the reservation. MediaConnect
  8462  	// defines this value in the offering.
  8463  	//
  8464  	// DurationUnits is a required field
  8465  	DurationUnits *string `locationName:"durationUnits" type:"string" required:"true" enum:"DurationUnits"`
  8466  
  8467  	// The day and time that this reservation expires. This value is calculated
  8468  	// based on the start date and time that you set and the offering's duration.
  8469  	//
  8470  	// End is a required field
  8471  	End *string `locationName:"end" type:"string" required:"true"`
  8472  
  8473  	// The Amazon Resource Name (ARN) that MediaConnect assigns to the offering.
  8474  	//
  8475  	// OfferingArn is a required field
  8476  	OfferingArn *string `locationName:"offeringArn" type:"string" required:"true"`
  8477  
  8478  	// A description of the offering. MediaConnect defines this value in the offering.
  8479  	//
  8480  	// OfferingDescription is a required field
  8481  	OfferingDescription *string `locationName:"offeringDescription" type:"string" required:"true"`
  8482  
  8483  	// The cost of a single unit. This value, in combination with priceUnits, makes
  8484  	// up the rate. MediaConnect defines this value in the offering.
  8485  	//
  8486  	// PricePerUnit is a required field
  8487  	PricePerUnit *string `locationName:"pricePerUnit" type:"string" required:"true"`
  8488  
  8489  	// The unit of measurement that is used for billing. This value, in combination
  8490  	// with pricePerUnit, makes up the rate. MediaConnect defines this value in
  8491  	// the offering.
  8492  	//
  8493  	// PriceUnits is a required field
  8494  	PriceUnits *string `locationName:"priceUnits" type:"string" required:"true" enum:"PriceUnits"`
  8495  
  8496  	// The Amazon Resource Name (ARN) that MediaConnect assigns to the reservation
  8497  	// when you purchase an offering.
  8498  	//
  8499  	// ReservationArn is a required field
  8500  	ReservationArn *string `locationName:"reservationArn" type:"string" required:"true"`
  8501  
  8502  	// The name that you assigned to the reservation when you purchased the offering.
  8503  	//
  8504  	// ReservationName is a required field
  8505  	ReservationName *string `locationName:"reservationName" type:"string" required:"true"`
  8506  
  8507  	// The status of your reservation.
  8508  	//
  8509  	// ReservationState is a required field
  8510  	ReservationState *string `locationName:"reservationState" type:"string" required:"true" enum:"ReservationState"`
  8511  
  8512  	// A definition of the amount of outbound bandwidth that you would be reserving
  8513  	// if you purchase the offering. MediaConnect defines the values that make up
  8514  	// the resourceSpecification in the offering.
  8515  	//
  8516  	// ResourceSpecification is a required field
  8517  	ResourceSpecification *ResourceSpecification `locationName:"resourceSpecification" type:"structure" required:"true"`
  8518  
  8519  	// The day and time that the reservation becomes active. You set this value
  8520  	// when you purchase the offering.
  8521  	//
  8522  	// Start is a required field
  8523  	Start *string `locationName:"start" type:"string" required:"true"`
  8524  }
  8525  
  8526  // String returns the string representation.
  8527  //
  8528  // API parameter values that are decorated as "sensitive" in the API will not
  8529  // be included in the string output. The member name will be present, but the
  8530  // value will be replaced with "sensitive".
  8531  func (s Reservation) String() string {
  8532  	return awsutil.Prettify(s)
  8533  }
  8534  
  8535  // GoString returns the string representation.
  8536  //
  8537  // API parameter values that are decorated as "sensitive" in the API will not
  8538  // be included in the string output. The member name will be present, but the
  8539  // value will be replaced with "sensitive".
  8540  func (s Reservation) GoString() string {
  8541  	return s.String()
  8542  }
  8543  
  8544  // SetCurrencyCode sets the CurrencyCode field's value.
  8545  func (s *Reservation) SetCurrencyCode(v string) *Reservation {
  8546  	s.CurrencyCode = &v
  8547  	return s
  8548  }
  8549  
  8550  // SetDuration sets the Duration field's value.
  8551  func (s *Reservation) SetDuration(v int64) *Reservation {
  8552  	s.Duration = &v
  8553  	return s
  8554  }
  8555  
  8556  // SetDurationUnits sets the DurationUnits field's value.
  8557  func (s *Reservation) SetDurationUnits(v string) *Reservation {
  8558  	s.DurationUnits = &v
  8559  	return s
  8560  }
  8561  
  8562  // SetEnd sets the End field's value.
  8563  func (s *Reservation) SetEnd(v string) *Reservation {
  8564  	s.End = &v
  8565  	return s
  8566  }
  8567  
  8568  // SetOfferingArn sets the OfferingArn field's value.
  8569  func (s *Reservation) SetOfferingArn(v string) *Reservation {
  8570  	s.OfferingArn = &v
  8571  	return s
  8572  }
  8573  
  8574  // SetOfferingDescription sets the OfferingDescription field's value.
  8575  func (s *Reservation) SetOfferingDescription(v string) *Reservation {
  8576  	s.OfferingDescription = &v
  8577  	return s
  8578  }
  8579  
  8580  // SetPricePerUnit sets the PricePerUnit field's value.
  8581  func (s *Reservation) SetPricePerUnit(v string) *Reservation {
  8582  	s.PricePerUnit = &v
  8583  	return s
  8584  }
  8585  
  8586  // SetPriceUnits sets the PriceUnits field's value.
  8587  func (s *Reservation) SetPriceUnits(v string) *Reservation {
  8588  	s.PriceUnits = &v
  8589  	return s
  8590  }
  8591  
  8592  // SetReservationArn sets the ReservationArn field's value.
  8593  func (s *Reservation) SetReservationArn(v string) *Reservation {
  8594  	s.ReservationArn = &v
  8595  	return s
  8596  }
  8597  
  8598  // SetReservationName sets the ReservationName field's value.
  8599  func (s *Reservation) SetReservationName(v string) *Reservation {
  8600  	s.ReservationName = &v
  8601  	return s
  8602  }
  8603  
  8604  // SetReservationState sets the ReservationState field's value.
  8605  func (s *Reservation) SetReservationState(v string) *Reservation {
  8606  	s.ReservationState = &v
  8607  	return s
  8608  }
  8609  
  8610  // SetResourceSpecification sets the ResourceSpecification field's value.
  8611  func (s *Reservation) SetResourceSpecification(v *ResourceSpecification) *Reservation {
  8612  	s.ResourceSpecification = v
  8613  	return s
  8614  }
  8615  
  8616  // SetStart sets the Start field's value.
  8617  func (s *Reservation) SetStart(v string) *Reservation {
  8618  	s.Start = &v
  8619  	return s
  8620  }
  8621  
  8622  // A definition of what is being billed for, including the type and amount.
  8623  type ResourceSpecification struct {
  8624  	_ struct{} `type:"structure"`
  8625  
  8626  	// The amount of outbound bandwidth that is discounted in the offering.
  8627  	ReservedBitrate *int64 `locationName:"reservedBitrate" type:"integer"`
  8628  
  8629  	// The type of resource and the unit that is being billed for.
  8630  	//
  8631  	// ResourceType is a required field
  8632  	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
  8633  }
  8634  
  8635  // String returns the string representation.
  8636  //
  8637  // API parameter values that are decorated as "sensitive" in the API will not
  8638  // be included in the string output. The member name will be present, but the
  8639  // value will be replaced with "sensitive".
  8640  func (s ResourceSpecification) String() string {
  8641  	return awsutil.Prettify(s)
  8642  }
  8643  
  8644  // GoString returns the string representation.
  8645  //
  8646  // API parameter values that are decorated as "sensitive" in the API will not
  8647  // be included in the string output. The member name will be present, but the
  8648  // value will be replaced with "sensitive".
  8649  func (s ResourceSpecification) GoString() string {
  8650  	return s.String()
  8651  }
  8652  
  8653  // SetReservedBitrate sets the ReservedBitrate field's value.
  8654  func (s *ResourceSpecification) SetReservedBitrate(v int64) *ResourceSpecification {
  8655  	s.ReservedBitrate = &v
  8656  	return s
  8657  }
  8658  
  8659  // SetResourceType sets the ResourceType field's value.
  8660  func (s *ResourceSpecification) SetResourceType(v string) *ResourceSpecification {
  8661  	s.ResourceType = &v
  8662  	return s
  8663  }
  8664  
  8665  type RevokeFlowEntitlementInput struct {
  8666  	_ struct{} `type:"structure" nopayload:"true"`
  8667  
  8668  	// EntitlementArn is a required field
  8669  	EntitlementArn *string `location:"uri" locationName:"entitlementArn" type:"string" required:"true"`
  8670  
  8671  	// FlowArn is a required field
  8672  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  8673  }
  8674  
  8675  // String returns the string representation.
  8676  //
  8677  // API parameter values that are decorated as "sensitive" in the API will not
  8678  // be included in the string output. The member name will be present, but the
  8679  // value will be replaced with "sensitive".
  8680  func (s RevokeFlowEntitlementInput) String() string {
  8681  	return awsutil.Prettify(s)
  8682  }
  8683  
  8684  // GoString returns the string representation.
  8685  //
  8686  // API parameter values that are decorated as "sensitive" in the API will not
  8687  // be included in the string output. The member name will be present, but the
  8688  // value will be replaced with "sensitive".
  8689  func (s RevokeFlowEntitlementInput) GoString() string {
  8690  	return s.String()
  8691  }
  8692  
  8693  // Validate inspects the fields of the type to determine if they are valid.
  8694  func (s *RevokeFlowEntitlementInput) Validate() error {
  8695  	invalidParams := request.ErrInvalidParams{Context: "RevokeFlowEntitlementInput"}
  8696  	if s.EntitlementArn == nil {
  8697  		invalidParams.Add(request.NewErrParamRequired("EntitlementArn"))
  8698  	}
  8699  	if s.EntitlementArn != nil && len(*s.EntitlementArn) < 1 {
  8700  		invalidParams.Add(request.NewErrParamMinLen("EntitlementArn", 1))
  8701  	}
  8702  	if s.FlowArn == nil {
  8703  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  8704  	}
  8705  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  8706  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  8707  	}
  8708  
  8709  	if invalidParams.Len() > 0 {
  8710  		return invalidParams
  8711  	}
  8712  	return nil
  8713  }
  8714  
  8715  // SetEntitlementArn sets the EntitlementArn field's value.
  8716  func (s *RevokeFlowEntitlementInput) SetEntitlementArn(v string) *RevokeFlowEntitlementInput {
  8717  	s.EntitlementArn = &v
  8718  	return s
  8719  }
  8720  
  8721  // SetFlowArn sets the FlowArn field's value.
  8722  func (s *RevokeFlowEntitlementInput) SetFlowArn(v string) *RevokeFlowEntitlementInput {
  8723  	s.FlowArn = &v
  8724  	return s
  8725  }
  8726  
  8727  // The result of a successful RevokeFlowEntitlement request. The response includes
  8728  // the ARN of the flow that was updated and the ARN of the entitlement that
  8729  // was revoked.
  8730  type RevokeFlowEntitlementOutput struct {
  8731  	_ struct{} `type:"structure"`
  8732  
  8733  	// The ARN of the entitlement that was revoked.
  8734  	EntitlementArn *string `locationName:"entitlementArn" type:"string"`
  8735  
  8736  	// The ARN of the flow that the entitlement was revoked from.
  8737  	FlowArn *string `locationName:"flowArn" type:"string"`
  8738  }
  8739  
  8740  // String returns the string representation.
  8741  //
  8742  // API parameter values that are decorated as "sensitive" in the API will not
  8743  // be included in the string output. The member name will be present, but the
  8744  // value will be replaced with "sensitive".
  8745  func (s RevokeFlowEntitlementOutput) String() string {
  8746  	return awsutil.Prettify(s)
  8747  }
  8748  
  8749  // GoString returns the string representation.
  8750  //
  8751  // API parameter values that are decorated as "sensitive" in the API will not
  8752  // be included in the string output. The member name will be present, but the
  8753  // value will be replaced with "sensitive".
  8754  func (s RevokeFlowEntitlementOutput) GoString() string {
  8755  	return s.String()
  8756  }
  8757  
  8758  // SetEntitlementArn sets the EntitlementArn field's value.
  8759  func (s *RevokeFlowEntitlementOutput) SetEntitlementArn(v string) *RevokeFlowEntitlementOutput {
  8760  	s.EntitlementArn = &v
  8761  	return s
  8762  }
  8763  
  8764  // SetFlowArn sets the FlowArn field's value.
  8765  func (s *RevokeFlowEntitlementOutput) SetFlowArn(v string) *RevokeFlowEntitlementOutput {
  8766  	s.FlowArn = &v
  8767  	return s
  8768  }
  8769  
  8770  // Exception raised by AWS Elemental MediaConnect. See the error message and
  8771  // documentation for the operation for more information on the cause of this
  8772  // exception.
  8773  type ServiceUnavailableException struct {
  8774  	_            struct{}                  `type:"structure"`
  8775  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8776  
  8777  	Message_ *string `locationName:"message" type:"string"`
  8778  }
  8779  
  8780  // String returns the string representation.
  8781  //
  8782  // API parameter values that are decorated as "sensitive" in the API will not
  8783  // be included in the string output. The member name will be present, but the
  8784  // value will be replaced with "sensitive".
  8785  func (s ServiceUnavailableException) String() string {
  8786  	return awsutil.Prettify(s)
  8787  }
  8788  
  8789  // GoString returns the string representation.
  8790  //
  8791  // API parameter values that are decorated as "sensitive" in the API will not
  8792  // be included in the string output. The member name will be present, but the
  8793  // value will be replaced with "sensitive".
  8794  func (s ServiceUnavailableException) GoString() string {
  8795  	return s.String()
  8796  }
  8797  
  8798  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
  8799  	return &ServiceUnavailableException{
  8800  		RespMetadata: v,
  8801  	}
  8802  }
  8803  
  8804  // Code returns the exception type name.
  8805  func (s *ServiceUnavailableException) Code() string {
  8806  	return "ServiceUnavailableException"
  8807  }
  8808  
  8809  // Message returns the exception's message.
  8810  func (s *ServiceUnavailableException) Message() string {
  8811  	if s.Message_ != nil {
  8812  		return *s.Message_
  8813  	}
  8814  	return ""
  8815  }
  8816  
  8817  // OrigErr always returns nil, satisfies awserr.Error interface.
  8818  func (s *ServiceUnavailableException) OrigErr() error {
  8819  	return nil
  8820  }
  8821  
  8822  func (s *ServiceUnavailableException) Error() string {
  8823  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8824  }
  8825  
  8826  // Status code returns the HTTP status code for the request's response error.
  8827  func (s *ServiceUnavailableException) StatusCode() int {
  8828  	return s.RespMetadata.StatusCode
  8829  }
  8830  
  8831  // RequestID returns the service's response RequestID for request.
  8832  func (s *ServiceUnavailableException) RequestID() string {
  8833  	return s.RespMetadata.RequestID
  8834  }
  8835  
  8836  // The settings for the source of the flow.
  8837  type SetSourceRequest struct {
  8838  	_ struct{} `type:"structure"`
  8839  
  8840  	// The type of encryption that is used on the content ingested from this source.
  8841  	Decryption *Encryption `locationName:"decryption" type:"structure"`
  8842  
  8843  	// A description for the source. This value is not used or seen outside of the
  8844  	// current AWS Elemental MediaConnect account.
  8845  	Description *string `locationName:"description" type:"string"`
  8846  
  8847  	// The ARN of the entitlement that allows you to subscribe to this flow. The
  8848  	// entitlement is set by the flow originator, and the ARN is generated as part
  8849  	// of the originator's flow.
  8850  	EntitlementArn *string `locationName:"entitlementArn" type:"string"`
  8851  
  8852  	// The port that the flow will be listening on for incoming content.
  8853  	IngestPort *int64 `locationName:"ingestPort" type:"integer"`
  8854  
  8855  	// The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
  8856  	MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"`
  8857  
  8858  	// The maximum latency in milliseconds. This parameter applies only to RIST-based
  8859  	// and Zixi-based streams.
  8860  	MaxLatency *int64 `locationName:"maxLatency" type:"integer"`
  8861  
  8862  	// The size of the buffer (in milliseconds) to use to sync incoming source data.
  8863  	MaxSyncBuffer *int64 `locationName:"maxSyncBuffer" type:"integer"`
  8864  
  8865  	// The media streams that are associated with the source, and the parameters
  8866  	// for those associations.
  8867  	MediaStreamSourceConfigurations []*MediaStreamSourceConfigurationRequest `locationName:"mediaStreamSourceConfigurations" type:"list"`
  8868  
  8869  	// The minimum latency in milliseconds for SRT-based streams. In streams that
  8870  	// use the SRT protocol, this value that you set on your MediaConnect source
  8871  	// or output represents the minimal potential latency of that connection. The
  8872  	// latency of the stream is set to the highest number between the sender’s
  8873  	// minimum latency and the receiver’s minimum latency.
  8874  	MinLatency *int64 `locationName:"minLatency" type:"integer"`
  8875  
  8876  	// The name of the source.
  8877  	Name *string `locationName:"name" type:"string"`
  8878  
  8879  	// The protocol that is used by the source.
  8880  	Protocol *string `locationName:"protocol" type:"string" enum:"Protocol"`
  8881  
  8882  	// The stream ID that you want to use for this transport. This parameter applies
  8883  	// only to Zixi-based streams.
  8884  	StreamId *string `locationName:"streamId" type:"string"`
  8885  
  8886  	// The name of the VPC interface to use for this source.
  8887  	VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"`
  8888  
  8889  	// The range of IP addresses that should be allowed to contribute content to
  8890  	// your source. These IP addresses should be in the form of a Classless Inter-Domain
  8891  	// Routing (CIDR) block; for example, 10.0.0.0/16.
  8892  	WhitelistCidr *string `locationName:"whitelistCidr" type:"string"`
  8893  }
  8894  
  8895  // String returns the string representation.
  8896  //
  8897  // API parameter values that are decorated as "sensitive" in the API will not
  8898  // be included in the string output. The member name will be present, but the
  8899  // value will be replaced with "sensitive".
  8900  func (s SetSourceRequest) String() string {
  8901  	return awsutil.Prettify(s)
  8902  }
  8903  
  8904  // GoString returns the string representation.
  8905  //
  8906  // API parameter values that are decorated as "sensitive" in the API will not
  8907  // be included in the string output. The member name will be present, but the
  8908  // value will be replaced with "sensitive".
  8909  func (s SetSourceRequest) GoString() string {
  8910  	return s.String()
  8911  }
  8912  
  8913  // Validate inspects the fields of the type to determine if they are valid.
  8914  func (s *SetSourceRequest) Validate() error {
  8915  	invalidParams := request.ErrInvalidParams{Context: "SetSourceRequest"}
  8916  	if s.Decryption != nil {
  8917  		if err := s.Decryption.Validate(); err != nil {
  8918  			invalidParams.AddNested("Decryption", err.(request.ErrInvalidParams))
  8919  		}
  8920  	}
  8921  	if s.MediaStreamSourceConfigurations != nil {
  8922  		for i, v := range s.MediaStreamSourceConfigurations {
  8923  			if v == nil {
  8924  				continue
  8925  			}
  8926  			if err := v.Validate(); err != nil {
  8927  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaStreamSourceConfigurations", i), err.(request.ErrInvalidParams))
  8928  			}
  8929  		}
  8930  	}
  8931  
  8932  	if invalidParams.Len() > 0 {
  8933  		return invalidParams
  8934  	}
  8935  	return nil
  8936  }
  8937  
  8938  // SetDecryption sets the Decryption field's value.
  8939  func (s *SetSourceRequest) SetDecryption(v *Encryption) *SetSourceRequest {
  8940  	s.Decryption = v
  8941  	return s
  8942  }
  8943  
  8944  // SetDescription sets the Description field's value.
  8945  func (s *SetSourceRequest) SetDescription(v string) *SetSourceRequest {
  8946  	s.Description = &v
  8947  	return s
  8948  }
  8949  
  8950  // SetEntitlementArn sets the EntitlementArn field's value.
  8951  func (s *SetSourceRequest) SetEntitlementArn(v string) *SetSourceRequest {
  8952  	s.EntitlementArn = &v
  8953  	return s
  8954  }
  8955  
  8956  // SetIngestPort sets the IngestPort field's value.
  8957  func (s *SetSourceRequest) SetIngestPort(v int64) *SetSourceRequest {
  8958  	s.IngestPort = &v
  8959  	return s
  8960  }
  8961  
  8962  // SetMaxBitrate sets the MaxBitrate field's value.
  8963  func (s *SetSourceRequest) SetMaxBitrate(v int64) *SetSourceRequest {
  8964  	s.MaxBitrate = &v
  8965  	return s
  8966  }
  8967  
  8968  // SetMaxLatency sets the MaxLatency field's value.
  8969  func (s *SetSourceRequest) SetMaxLatency(v int64) *SetSourceRequest {
  8970  	s.MaxLatency = &v
  8971  	return s
  8972  }
  8973  
  8974  // SetMaxSyncBuffer sets the MaxSyncBuffer field's value.
  8975  func (s *SetSourceRequest) SetMaxSyncBuffer(v int64) *SetSourceRequest {
  8976  	s.MaxSyncBuffer = &v
  8977  	return s
  8978  }
  8979  
  8980  // SetMediaStreamSourceConfigurations sets the MediaStreamSourceConfigurations field's value.
  8981  func (s *SetSourceRequest) SetMediaStreamSourceConfigurations(v []*MediaStreamSourceConfigurationRequest) *SetSourceRequest {
  8982  	s.MediaStreamSourceConfigurations = v
  8983  	return s
  8984  }
  8985  
  8986  // SetMinLatency sets the MinLatency field's value.
  8987  func (s *SetSourceRequest) SetMinLatency(v int64) *SetSourceRequest {
  8988  	s.MinLatency = &v
  8989  	return s
  8990  }
  8991  
  8992  // SetName sets the Name field's value.
  8993  func (s *SetSourceRequest) SetName(v string) *SetSourceRequest {
  8994  	s.Name = &v
  8995  	return s
  8996  }
  8997  
  8998  // SetProtocol sets the Protocol field's value.
  8999  func (s *SetSourceRequest) SetProtocol(v string) *SetSourceRequest {
  9000  	s.Protocol = &v
  9001  	return s
  9002  }
  9003  
  9004  // SetStreamId sets the StreamId field's value.
  9005  func (s *SetSourceRequest) SetStreamId(v string) *SetSourceRequest {
  9006  	s.StreamId = &v
  9007  	return s
  9008  }
  9009  
  9010  // SetVpcInterfaceName sets the VpcInterfaceName field's value.
  9011  func (s *SetSourceRequest) SetVpcInterfaceName(v string) *SetSourceRequest {
  9012  	s.VpcInterfaceName = &v
  9013  	return s
  9014  }
  9015  
  9016  // SetWhitelistCidr sets the WhitelistCidr field's value.
  9017  func (s *SetSourceRequest) SetWhitelistCidr(v string) *SetSourceRequest {
  9018  	s.WhitelistCidr = &v
  9019  	return s
  9020  }
  9021  
  9022  // The settings for the source of the flow.
  9023  type Source struct {
  9024  	_ struct{} `type:"structure"`
  9025  
  9026  	// Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
  9027  	DataTransferSubscriberFeePercent *int64 `locationName:"dataTransferSubscriberFeePercent" type:"integer"`
  9028  
  9029  	// The type of encryption that is used on the content ingested from this source.
  9030  	Decryption *Encryption `locationName:"decryption" type:"structure"`
  9031  
  9032  	// A description for the source. This value is not used or seen outside of the
  9033  	// current AWS Elemental MediaConnect account.
  9034  	Description *string `locationName:"description" type:"string"`
  9035  
  9036  	// The ARN of the entitlement that allows you to subscribe to content that comes
  9037  	// from another AWS account. The entitlement is set by the content originator
  9038  	// and the ARN is generated as part of the originator's flow.
  9039  	EntitlementArn *string `locationName:"entitlementArn" type:"string"`
  9040  
  9041  	// The IP address that the flow will be listening on for incoming content.
  9042  	IngestIp *string `locationName:"ingestIp" type:"string"`
  9043  
  9044  	// The port that the flow will be listening on for incoming content.
  9045  	IngestPort *int64 `locationName:"ingestPort" type:"integer"`
  9046  
  9047  	// The media streams that are associated with the source, and the parameters
  9048  	// for those associations.
  9049  	MediaStreamSourceConfigurations []*MediaStreamSourceConfiguration `locationName:"mediaStreamSourceConfigurations" type:"list"`
  9050  
  9051  	// The name of the source.
  9052  	//
  9053  	// Name is a required field
  9054  	Name *string `locationName:"name" type:"string" required:"true"`
  9055  
  9056  	// The ARN of the source.
  9057  	//
  9058  	// SourceArn is a required field
  9059  	SourceArn *string `locationName:"sourceArn" type:"string" required:"true"`
  9060  
  9061  	// Attributes related to the transport stream that are used in the source.
  9062  	Transport *Transport `locationName:"transport" type:"structure"`
  9063  
  9064  	// The name of the VPC interface that is used for this source.
  9065  	VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"`
  9066  
  9067  	// The range of IP addresses that should be allowed to contribute content to
  9068  	// your source. These IP addresses should be in the form of a Classless Inter-Domain
  9069  	// Routing (CIDR) block; for example, 10.0.0.0/16.
  9070  	WhitelistCidr *string `locationName:"whitelistCidr" type:"string"`
  9071  }
  9072  
  9073  // String returns the string representation.
  9074  //
  9075  // API parameter values that are decorated as "sensitive" in the API will not
  9076  // be included in the string output. The member name will be present, but the
  9077  // value will be replaced with "sensitive".
  9078  func (s Source) String() string {
  9079  	return awsutil.Prettify(s)
  9080  }
  9081  
  9082  // GoString returns the string representation.
  9083  //
  9084  // API parameter values that are decorated as "sensitive" in the API will not
  9085  // be included in the string output. The member name will be present, but the
  9086  // value will be replaced with "sensitive".
  9087  func (s Source) GoString() string {
  9088  	return s.String()
  9089  }
  9090  
  9091  // SetDataTransferSubscriberFeePercent sets the DataTransferSubscriberFeePercent field's value.
  9092  func (s *Source) SetDataTransferSubscriberFeePercent(v int64) *Source {
  9093  	s.DataTransferSubscriberFeePercent = &v
  9094  	return s
  9095  }
  9096  
  9097  // SetDecryption sets the Decryption field's value.
  9098  func (s *Source) SetDecryption(v *Encryption) *Source {
  9099  	s.Decryption = v
  9100  	return s
  9101  }
  9102  
  9103  // SetDescription sets the Description field's value.
  9104  func (s *Source) SetDescription(v string) *Source {
  9105  	s.Description = &v
  9106  	return s
  9107  }
  9108  
  9109  // SetEntitlementArn sets the EntitlementArn field's value.
  9110  func (s *Source) SetEntitlementArn(v string) *Source {
  9111  	s.EntitlementArn = &v
  9112  	return s
  9113  }
  9114  
  9115  // SetIngestIp sets the IngestIp field's value.
  9116  func (s *Source) SetIngestIp(v string) *Source {
  9117  	s.IngestIp = &v
  9118  	return s
  9119  }
  9120  
  9121  // SetIngestPort sets the IngestPort field's value.
  9122  func (s *Source) SetIngestPort(v int64) *Source {
  9123  	s.IngestPort = &v
  9124  	return s
  9125  }
  9126  
  9127  // SetMediaStreamSourceConfigurations sets the MediaStreamSourceConfigurations field's value.
  9128  func (s *Source) SetMediaStreamSourceConfigurations(v []*MediaStreamSourceConfiguration) *Source {
  9129  	s.MediaStreamSourceConfigurations = v
  9130  	return s
  9131  }
  9132  
  9133  // SetName sets the Name field's value.
  9134  func (s *Source) SetName(v string) *Source {
  9135  	s.Name = &v
  9136  	return s
  9137  }
  9138  
  9139  // SetSourceArn sets the SourceArn field's value.
  9140  func (s *Source) SetSourceArn(v string) *Source {
  9141  	s.SourceArn = &v
  9142  	return s
  9143  }
  9144  
  9145  // SetTransport sets the Transport field's value.
  9146  func (s *Source) SetTransport(v *Transport) *Source {
  9147  	s.Transport = v
  9148  	return s
  9149  }
  9150  
  9151  // SetVpcInterfaceName sets the VpcInterfaceName field's value.
  9152  func (s *Source) SetVpcInterfaceName(v string) *Source {
  9153  	s.VpcInterfaceName = &v
  9154  	return s
  9155  }
  9156  
  9157  // SetWhitelistCidr sets the WhitelistCidr field's value.
  9158  func (s *Source) SetWhitelistCidr(v string) *Source {
  9159  	s.WhitelistCidr = &v
  9160  	return s
  9161  }
  9162  
  9163  // The priority you want to assign to a source. You can have a primary stream
  9164  // and a backup stream or two equally prioritized streams.
  9165  type SourcePriority struct {
  9166  	_ struct{} `type:"structure"`
  9167  
  9168  	// The name of the source you choose as the primary source for this flow.
  9169  	PrimarySource *string `locationName:"primarySource" type:"string"`
  9170  }
  9171  
  9172  // String returns the string representation.
  9173  //
  9174  // API parameter values that are decorated as "sensitive" in the API will not
  9175  // be included in the string output. The member name will be present, but the
  9176  // value will be replaced with "sensitive".
  9177  func (s SourcePriority) String() string {
  9178  	return awsutil.Prettify(s)
  9179  }
  9180  
  9181  // GoString returns the string representation.
  9182  //
  9183  // API parameter values that are decorated as "sensitive" in the API will not
  9184  // be included in the string output. The member name will be present, but the
  9185  // value will be replaced with "sensitive".
  9186  func (s SourcePriority) GoString() string {
  9187  	return s.String()
  9188  }
  9189  
  9190  // SetPrimarySource sets the PrimarySource field's value.
  9191  func (s *SourcePriority) SetPrimarySource(v string) *SourcePriority {
  9192  	s.PrimarySource = &v
  9193  	return s
  9194  }
  9195  
  9196  type StartFlowInput struct {
  9197  	_ struct{} `type:"structure" nopayload:"true"`
  9198  
  9199  	// FlowArn is a required field
  9200  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  9201  }
  9202  
  9203  // String returns the string representation.
  9204  //
  9205  // API parameter values that are decorated as "sensitive" in the API will not
  9206  // be included in the string output. The member name will be present, but the
  9207  // value will be replaced with "sensitive".
  9208  func (s StartFlowInput) String() string {
  9209  	return awsutil.Prettify(s)
  9210  }
  9211  
  9212  // GoString returns the string representation.
  9213  //
  9214  // API parameter values that are decorated as "sensitive" in the API will not
  9215  // be included in the string output. The member name will be present, but the
  9216  // value will be replaced with "sensitive".
  9217  func (s StartFlowInput) GoString() string {
  9218  	return s.String()
  9219  }
  9220  
  9221  // Validate inspects the fields of the type to determine if they are valid.
  9222  func (s *StartFlowInput) Validate() error {
  9223  	invalidParams := request.ErrInvalidParams{Context: "StartFlowInput"}
  9224  	if s.FlowArn == nil {
  9225  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  9226  	}
  9227  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  9228  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  9229  	}
  9230  
  9231  	if invalidParams.Len() > 0 {
  9232  		return invalidParams
  9233  	}
  9234  	return nil
  9235  }
  9236  
  9237  // SetFlowArn sets the FlowArn field's value.
  9238  func (s *StartFlowInput) SetFlowArn(v string) *StartFlowInput {
  9239  	s.FlowArn = &v
  9240  	return s
  9241  }
  9242  
  9243  // The result of a successful StartFlow request.
  9244  type StartFlowOutput struct {
  9245  	_ struct{} `type:"structure"`
  9246  
  9247  	// The ARN of the flow that you started.
  9248  	FlowArn *string `locationName:"flowArn" type:"string"`
  9249  
  9250  	// The status of the flow when the StartFlow process begins.
  9251  	Status *string `locationName:"status" type:"string" enum:"Status"`
  9252  }
  9253  
  9254  // String returns the string representation.
  9255  //
  9256  // API parameter values that are decorated as "sensitive" in the API will not
  9257  // be included in the string output. The member name will be present, but the
  9258  // value will be replaced with "sensitive".
  9259  func (s StartFlowOutput) String() string {
  9260  	return awsutil.Prettify(s)
  9261  }
  9262  
  9263  // GoString returns the string representation.
  9264  //
  9265  // API parameter values that are decorated as "sensitive" in the API will not
  9266  // be included in the string output. The member name will be present, but the
  9267  // value will be replaced with "sensitive".
  9268  func (s StartFlowOutput) GoString() string {
  9269  	return s.String()
  9270  }
  9271  
  9272  // SetFlowArn sets the FlowArn field's value.
  9273  func (s *StartFlowOutput) SetFlowArn(v string) *StartFlowOutput {
  9274  	s.FlowArn = &v
  9275  	return s
  9276  }
  9277  
  9278  // SetStatus sets the Status field's value.
  9279  func (s *StartFlowOutput) SetStatus(v string) *StartFlowOutput {
  9280  	s.Status = &v
  9281  	return s
  9282  }
  9283  
  9284  type StopFlowInput struct {
  9285  	_ struct{} `type:"structure" nopayload:"true"`
  9286  
  9287  	// FlowArn is a required field
  9288  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  9289  }
  9290  
  9291  // String returns the string representation.
  9292  //
  9293  // API parameter values that are decorated as "sensitive" in the API will not
  9294  // be included in the string output. The member name will be present, but the
  9295  // value will be replaced with "sensitive".
  9296  func (s StopFlowInput) String() string {
  9297  	return awsutil.Prettify(s)
  9298  }
  9299  
  9300  // GoString returns the string representation.
  9301  //
  9302  // API parameter values that are decorated as "sensitive" in the API will not
  9303  // be included in the string output. The member name will be present, but the
  9304  // value will be replaced with "sensitive".
  9305  func (s StopFlowInput) GoString() string {
  9306  	return s.String()
  9307  }
  9308  
  9309  // Validate inspects the fields of the type to determine if they are valid.
  9310  func (s *StopFlowInput) Validate() error {
  9311  	invalidParams := request.ErrInvalidParams{Context: "StopFlowInput"}
  9312  	if s.FlowArn == nil {
  9313  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  9314  	}
  9315  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  9316  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  9317  	}
  9318  
  9319  	if invalidParams.Len() > 0 {
  9320  		return invalidParams
  9321  	}
  9322  	return nil
  9323  }
  9324  
  9325  // SetFlowArn sets the FlowArn field's value.
  9326  func (s *StopFlowInput) SetFlowArn(v string) *StopFlowInput {
  9327  	s.FlowArn = &v
  9328  	return s
  9329  }
  9330  
  9331  // The result of a successful StopFlow request.
  9332  type StopFlowOutput struct {
  9333  	_ struct{} `type:"structure"`
  9334  
  9335  	// The ARN of the flow that you stopped.
  9336  	FlowArn *string `locationName:"flowArn" type:"string"`
  9337  
  9338  	// The status of the flow when the StopFlow process begins.
  9339  	Status *string `locationName:"status" type:"string" enum:"Status"`
  9340  }
  9341  
  9342  // String returns the string representation.
  9343  //
  9344  // API parameter values that are decorated as "sensitive" in the API will not
  9345  // be included in the string output. The member name will be present, but the
  9346  // value will be replaced with "sensitive".
  9347  func (s StopFlowOutput) String() string {
  9348  	return awsutil.Prettify(s)
  9349  }
  9350  
  9351  // GoString returns the string representation.
  9352  //
  9353  // API parameter values that are decorated as "sensitive" in the API will not
  9354  // be included in the string output. The member name will be present, but the
  9355  // value will be replaced with "sensitive".
  9356  func (s StopFlowOutput) GoString() string {
  9357  	return s.String()
  9358  }
  9359  
  9360  // SetFlowArn sets the FlowArn field's value.
  9361  func (s *StopFlowOutput) SetFlowArn(v string) *StopFlowOutput {
  9362  	s.FlowArn = &v
  9363  	return s
  9364  }
  9365  
  9366  // SetStatus sets the Status field's value.
  9367  func (s *StopFlowOutput) SetStatus(v string) *StopFlowOutput {
  9368  	s.Status = &v
  9369  	return s
  9370  }
  9371  
  9372  // The tags to add to the resource. Tag keys can have a maximum character length
  9373  // of 128 characters, and tag values can have a maximum length of 256 characters.
  9374  type TagResourceInput struct {
  9375  	_ struct{} `type:"structure"`
  9376  
  9377  	// ResourceArn is a required field
  9378  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  9379  
  9380  	// A map from tag keys to values. Tag keys can have a maximum character length
  9381  	// of 128 characters, and tag values can have a maximum length of 256 characters.
  9382  	//
  9383  	// Tags is a required field
  9384  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
  9385  }
  9386  
  9387  // String returns the string representation.
  9388  //
  9389  // API parameter values that are decorated as "sensitive" in the API will not
  9390  // be included in the string output. The member name will be present, but the
  9391  // value will be replaced with "sensitive".
  9392  func (s TagResourceInput) String() string {
  9393  	return awsutil.Prettify(s)
  9394  }
  9395  
  9396  // GoString returns the string representation.
  9397  //
  9398  // API parameter values that are decorated as "sensitive" in the API will not
  9399  // be included in the string output. The member name will be present, but the
  9400  // value will be replaced with "sensitive".
  9401  func (s TagResourceInput) GoString() string {
  9402  	return s.String()
  9403  }
  9404  
  9405  // Validate inspects the fields of the type to determine if they are valid.
  9406  func (s *TagResourceInput) Validate() error {
  9407  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  9408  	if s.ResourceArn == nil {
  9409  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  9410  	}
  9411  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  9412  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  9413  	}
  9414  	if s.Tags == nil {
  9415  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  9416  	}
  9417  
  9418  	if invalidParams.Len() > 0 {
  9419  		return invalidParams
  9420  	}
  9421  	return nil
  9422  }
  9423  
  9424  // SetResourceArn sets the ResourceArn field's value.
  9425  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  9426  	s.ResourceArn = &v
  9427  	return s
  9428  }
  9429  
  9430  // SetTags sets the Tags field's value.
  9431  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  9432  	s.Tags = v
  9433  	return s
  9434  }
  9435  
  9436  type TagResourceOutput struct {
  9437  	_ struct{} `type:"structure" nopayload:"true"`
  9438  }
  9439  
  9440  // String returns the string representation.
  9441  //
  9442  // API parameter values that are decorated as "sensitive" in the API will not
  9443  // be included in the string output. The member name will be present, but the
  9444  // value will be replaced with "sensitive".
  9445  func (s TagResourceOutput) String() string {
  9446  	return awsutil.Prettify(s)
  9447  }
  9448  
  9449  // GoString returns the string representation.
  9450  //
  9451  // API parameter values that are decorated as "sensitive" in the API will not
  9452  // be included in the string output. The member name will be present, but the
  9453  // value will be replaced with "sensitive".
  9454  func (s TagResourceOutput) GoString() string {
  9455  	return s.String()
  9456  }
  9457  
  9458  // Exception raised by AWS Elemental MediaConnect. See the error message and
  9459  // documentation for the operation for more information on the cause of this
  9460  // exception.
  9461  type TooManyRequestsException struct {
  9462  	_            struct{}                  `type:"structure"`
  9463  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9464  
  9465  	Message_ *string `locationName:"message" type:"string"`
  9466  }
  9467  
  9468  // String returns the string representation.
  9469  //
  9470  // API parameter values that are decorated as "sensitive" in the API will not
  9471  // be included in the string output. The member name will be present, but the
  9472  // value will be replaced with "sensitive".
  9473  func (s TooManyRequestsException) String() string {
  9474  	return awsutil.Prettify(s)
  9475  }
  9476  
  9477  // GoString returns the string representation.
  9478  //
  9479  // API parameter values that are decorated as "sensitive" in the API will not
  9480  // be included in the string output. The member name will be present, but the
  9481  // value will be replaced with "sensitive".
  9482  func (s TooManyRequestsException) GoString() string {
  9483  	return s.String()
  9484  }
  9485  
  9486  func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
  9487  	return &TooManyRequestsException{
  9488  		RespMetadata: v,
  9489  	}
  9490  }
  9491  
  9492  // Code returns the exception type name.
  9493  func (s *TooManyRequestsException) Code() string {
  9494  	return "TooManyRequestsException"
  9495  }
  9496  
  9497  // Message returns the exception's message.
  9498  func (s *TooManyRequestsException) Message() string {
  9499  	if s.Message_ != nil {
  9500  		return *s.Message_
  9501  	}
  9502  	return ""
  9503  }
  9504  
  9505  // OrigErr always returns nil, satisfies awserr.Error interface.
  9506  func (s *TooManyRequestsException) OrigErr() error {
  9507  	return nil
  9508  }
  9509  
  9510  func (s *TooManyRequestsException) Error() string {
  9511  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9512  }
  9513  
  9514  // Status code returns the HTTP status code for the request's response error.
  9515  func (s *TooManyRequestsException) StatusCode() int {
  9516  	return s.RespMetadata.StatusCode
  9517  }
  9518  
  9519  // RequestID returns the service's response RequestID for request.
  9520  func (s *TooManyRequestsException) RequestID() string {
  9521  	return s.RespMetadata.RequestID
  9522  }
  9523  
  9524  // Attributes related to the transport stream that are used in a source or output.
  9525  type Transport struct {
  9526  	_ struct{} `type:"structure"`
  9527  
  9528  	// The range of IP addresses that should be allowed to initiate output requests
  9529  	// to this flow. These IP addresses should be in the form of a Classless Inter-Domain
  9530  	// Routing (CIDR) block; for example, 10.0.0.0/16.
  9531  	CidrAllowList []*string `locationName:"cidrAllowList" type:"list"`
  9532  
  9533  	// The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
  9534  	MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"`
  9535  
  9536  	// The maximum latency in milliseconds. This parameter applies only to RIST-based
  9537  	// and Zixi-based streams.
  9538  	MaxLatency *int64 `locationName:"maxLatency" type:"integer"`
  9539  
  9540  	// The size of the buffer (in milliseconds) to use to sync incoming source data.
  9541  	MaxSyncBuffer *int64 `locationName:"maxSyncBuffer" type:"integer"`
  9542  
  9543  	// The minimum latency in milliseconds for SRT-based streams. In streams that
  9544  	// use the SRT protocol, this value that you set on your MediaConnect source
  9545  	// or output represents the minimal potential latency of that connection. The
  9546  	// latency of the stream is set to the highest number between the sender’s
  9547  	// minimum latency and the receiver’s minimum latency.
  9548  	MinLatency *int64 `locationName:"minLatency" type:"integer"`
  9549  
  9550  	// The protocol that is used by the source or output.
  9551  	//
  9552  	// Protocol is a required field
  9553  	Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"Protocol"`
  9554  
  9555  	// The remote ID for the Zixi-pull stream.
  9556  	RemoteId *string `locationName:"remoteId" type:"string"`
  9557  
  9558  	// The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
  9559  	SmoothingLatency *int64 `locationName:"smoothingLatency" type:"integer"`
  9560  
  9561  	// The stream ID that you want to use for this transport. This parameter applies
  9562  	// only to Zixi-based streams.
  9563  	StreamId *string `locationName:"streamId" type:"string"`
  9564  }
  9565  
  9566  // String returns the string representation.
  9567  //
  9568  // API parameter values that are decorated as "sensitive" in the API will not
  9569  // be included in the string output. The member name will be present, but the
  9570  // value will be replaced with "sensitive".
  9571  func (s Transport) String() string {
  9572  	return awsutil.Prettify(s)
  9573  }
  9574  
  9575  // GoString returns the string representation.
  9576  //
  9577  // API parameter values that are decorated as "sensitive" in the API will not
  9578  // be included in the string output. The member name will be present, but the
  9579  // value will be replaced with "sensitive".
  9580  func (s Transport) GoString() string {
  9581  	return s.String()
  9582  }
  9583  
  9584  // SetCidrAllowList sets the CidrAllowList field's value.
  9585  func (s *Transport) SetCidrAllowList(v []*string) *Transport {
  9586  	s.CidrAllowList = v
  9587  	return s
  9588  }
  9589  
  9590  // SetMaxBitrate sets the MaxBitrate field's value.
  9591  func (s *Transport) SetMaxBitrate(v int64) *Transport {
  9592  	s.MaxBitrate = &v
  9593  	return s
  9594  }
  9595  
  9596  // SetMaxLatency sets the MaxLatency field's value.
  9597  func (s *Transport) SetMaxLatency(v int64) *Transport {
  9598  	s.MaxLatency = &v
  9599  	return s
  9600  }
  9601  
  9602  // SetMaxSyncBuffer sets the MaxSyncBuffer field's value.
  9603  func (s *Transport) SetMaxSyncBuffer(v int64) *Transport {
  9604  	s.MaxSyncBuffer = &v
  9605  	return s
  9606  }
  9607  
  9608  // SetMinLatency sets the MinLatency field's value.
  9609  func (s *Transport) SetMinLatency(v int64) *Transport {
  9610  	s.MinLatency = &v
  9611  	return s
  9612  }
  9613  
  9614  // SetProtocol sets the Protocol field's value.
  9615  func (s *Transport) SetProtocol(v string) *Transport {
  9616  	s.Protocol = &v
  9617  	return s
  9618  }
  9619  
  9620  // SetRemoteId sets the RemoteId field's value.
  9621  func (s *Transport) SetRemoteId(v string) *Transport {
  9622  	s.RemoteId = &v
  9623  	return s
  9624  }
  9625  
  9626  // SetSmoothingLatency sets the SmoothingLatency field's value.
  9627  func (s *Transport) SetSmoothingLatency(v int64) *Transport {
  9628  	s.SmoothingLatency = &v
  9629  	return s
  9630  }
  9631  
  9632  // SetStreamId sets the StreamId field's value.
  9633  func (s *Transport) SetStreamId(v string) *Transport {
  9634  	s.StreamId = &v
  9635  	return s
  9636  }
  9637  
  9638  type UntagResourceInput struct {
  9639  	_ struct{} `type:"structure" nopayload:"true"`
  9640  
  9641  	// ResourceArn is a required field
  9642  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  9643  
  9644  	// TagKeys is a required field
  9645  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
  9646  }
  9647  
  9648  // String returns the string representation.
  9649  //
  9650  // API parameter values that are decorated as "sensitive" in the API will not
  9651  // be included in the string output. The member name will be present, but the
  9652  // value will be replaced with "sensitive".
  9653  func (s UntagResourceInput) String() string {
  9654  	return awsutil.Prettify(s)
  9655  }
  9656  
  9657  // GoString returns the string representation.
  9658  //
  9659  // API parameter values that are decorated as "sensitive" in the API will not
  9660  // be included in the string output. The member name will be present, but the
  9661  // value will be replaced with "sensitive".
  9662  func (s UntagResourceInput) GoString() string {
  9663  	return s.String()
  9664  }
  9665  
  9666  // Validate inspects the fields of the type to determine if they are valid.
  9667  func (s *UntagResourceInput) Validate() error {
  9668  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  9669  	if s.ResourceArn == nil {
  9670  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  9671  	}
  9672  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  9673  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  9674  	}
  9675  	if s.TagKeys == nil {
  9676  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  9677  	}
  9678  
  9679  	if invalidParams.Len() > 0 {
  9680  		return invalidParams
  9681  	}
  9682  	return nil
  9683  }
  9684  
  9685  // SetResourceArn sets the ResourceArn field's value.
  9686  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  9687  	s.ResourceArn = &v
  9688  	return s
  9689  }
  9690  
  9691  // SetTagKeys sets the TagKeys field's value.
  9692  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  9693  	s.TagKeys = v
  9694  	return s
  9695  }
  9696  
  9697  type UntagResourceOutput struct {
  9698  	_ struct{} `type:"structure" nopayload:"true"`
  9699  }
  9700  
  9701  // String returns the string representation.
  9702  //
  9703  // API parameter values that are decorated as "sensitive" in the API will not
  9704  // be included in the string output. The member name will be present, but the
  9705  // value will be replaced with "sensitive".
  9706  func (s UntagResourceOutput) String() string {
  9707  	return awsutil.Prettify(s)
  9708  }
  9709  
  9710  // GoString returns the string representation.
  9711  //
  9712  // API parameter values that are decorated as "sensitive" in the API will not
  9713  // be included in the string output. The member name will be present, but the
  9714  // value will be replaced with "sensitive".
  9715  func (s UntagResourceOutput) GoString() string {
  9716  	return s.String()
  9717  }
  9718  
  9719  // Information about the encryption of the flow.
  9720  type UpdateEncryption struct {
  9721  	_ struct{} `type:"structure"`
  9722  
  9723  	// The type of algorithm that is used for the encryption (such as aes128, aes192,
  9724  	// or aes256).
  9725  	Algorithm *string `locationName:"algorithm" type:"string" enum:"Algorithm"`
  9726  
  9727  	// A 128-bit, 16-byte hex value represented by a 32-character string, to be
  9728  	// used with the key for encrypting content. This parameter is not valid for
  9729  	// static key encryption.
  9730  	ConstantInitializationVector *string `locationName:"constantInitializationVector" type:"string"`
  9731  
  9732  	// The value of one of the devices that you configured with your digital rights
  9733  	// management (DRM) platform key provider. This parameter is required for SPEKE
  9734  	// encryption and is not valid for static key encryption.
  9735  	DeviceId *string `locationName:"deviceId" type:"string"`
  9736  
  9737  	// The type of key that is used for the encryption. If no keyType is provided,
  9738  	// the service will use the default setting (static-key).
  9739  	KeyType *string `locationName:"keyType" type:"string" enum:"KeyType"`
  9740  
  9741  	// The AWS Region that the API Gateway proxy endpoint was created in. This parameter
  9742  	// is required for SPEKE encryption and is not valid for static key encryption.
  9743  	Region *string `locationName:"region" type:"string"`
  9744  
  9745  	// An identifier for the content. The service sends this value to the key server
  9746  	// to identify the current endpoint. The resource ID is also known as the content
  9747  	// ID. This parameter is required for SPEKE encryption and is not valid for
  9748  	// static key encryption.
  9749  	ResourceId *string `locationName:"resourceId" type:"string"`
  9750  
  9751  	// The ARN of the role that you created during setup (when you set up AWS Elemental
  9752  	// MediaConnect as a trusted entity).
  9753  	RoleArn *string `locationName:"roleArn" type:"string"`
  9754  
  9755  	// The ARN of the secret that you created in AWS Secrets Manager to store the
  9756  	// encryption key. This parameter is required for static key encryption and
  9757  	// is not valid for SPEKE encryption.
  9758  	SecretArn *string `locationName:"secretArn" type:"string"`
  9759  
  9760  	// The URL from the API Gateway proxy that you set up to talk to your key server.
  9761  	// This parameter is required for SPEKE encryption and is not valid for static
  9762  	// key encryption.
  9763  	Url *string `locationName:"url" type:"string"`
  9764  }
  9765  
  9766  // String returns the string representation.
  9767  //
  9768  // API parameter values that are decorated as "sensitive" in the API will not
  9769  // be included in the string output. The member name will be present, but the
  9770  // value will be replaced with "sensitive".
  9771  func (s UpdateEncryption) String() string {
  9772  	return awsutil.Prettify(s)
  9773  }
  9774  
  9775  // GoString returns the string representation.
  9776  //
  9777  // API parameter values that are decorated as "sensitive" in the API will not
  9778  // be included in the string output. The member name will be present, but the
  9779  // value will be replaced with "sensitive".
  9780  func (s UpdateEncryption) GoString() string {
  9781  	return s.String()
  9782  }
  9783  
  9784  // SetAlgorithm sets the Algorithm field's value.
  9785  func (s *UpdateEncryption) SetAlgorithm(v string) *UpdateEncryption {
  9786  	s.Algorithm = &v
  9787  	return s
  9788  }
  9789  
  9790  // SetConstantInitializationVector sets the ConstantInitializationVector field's value.
  9791  func (s *UpdateEncryption) SetConstantInitializationVector(v string) *UpdateEncryption {
  9792  	s.ConstantInitializationVector = &v
  9793  	return s
  9794  }
  9795  
  9796  // SetDeviceId sets the DeviceId field's value.
  9797  func (s *UpdateEncryption) SetDeviceId(v string) *UpdateEncryption {
  9798  	s.DeviceId = &v
  9799  	return s
  9800  }
  9801  
  9802  // SetKeyType sets the KeyType field's value.
  9803  func (s *UpdateEncryption) SetKeyType(v string) *UpdateEncryption {
  9804  	s.KeyType = &v
  9805  	return s
  9806  }
  9807  
  9808  // SetRegion sets the Region field's value.
  9809  func (s *UpdateEncryption) SetRegion(v string) *UpdateEncryption {
  9810  	s.Region = &v
  9811  	return s
  9812  }
  9813  
  9814  // SetResourceId sets the ResourceId field's value.
  9815  func (s *UpdateEncryption) SetResourceId(v string) *UpdateEncryption {
  9816  	s.ResourceId = &v
  9817  	return s
  9818  }
  9819  
  9820  // SetRoleArn sets the RoleArn field's value.
  9821  func (s *UpdateEncryption) SetRoleArn(v string) *UpdateEncryption {
  9822  	s.RoleArn = &v
  9823  	return s
  9824  }
  9825  
  9826  // SetSecretArn sets the SecretArn field's value.
  9827  func (s *UpdateEncryption) SetSecretArn(v string) *UpdateEncryption {
  9828  	s.SecretArn = &v
  9829  	return s
  9830  }
  9831  
  9832  // SetUrl sets the Url field's value.
  9833  func (s *UpdateEncryption) SetUrl(v string) *UpdateEncryption {
  9834  	s.Url = &v
  9835  	return s
  9836  }
  9837  
  9838  // The settings for source failover
  9839  type UpdateFailoverConfig struct {
  9840  	_ struct{} `type:"structure"`
  9841  
  9842  	// The type of failover you choose for this flow. MERGE combines the source
  9843  	// streams into a single stream, allowing graceful recovery from any single-source
  9844  	// loss. FAILOVER allows switching between different streams.
  9845  	FailoverMode *string `locationName:"failoverMode" type:"string" enum:"FailoverMode"`
  9846  
  9847  	// Recovery window time to look for dash-7 packets
  9848  	RecoveryWindow *int64 `locationName:"recoveryWindow" type:"integer"`
  9849  
  9850  	// The priority you want to assign to a source. You can have a primary stream
  9851  	// and a backup stream or two equally prioritized streams.
  9852  	SourcePriority *SourcePriority `locationName:"sourcePriority" type:"structure"`
  9853  
  9854  	State *string `locationName:"state" type:"string" enum:"State"`
  9855  }
  9856  
  9857  // String returns the string representation.
  9858  //
  9859  // API parameter values that are decorated as "sensitive" in the API will not
  9860  // be included in the string output. The member name will be present, but the
  9861  // value will be replaced with "sensitive".
  9862  func (s UpdateFailoverConfig) String() string {
  9863  	return awsutil.Prettify(s)
  9864  }
  9865  
  9866  // GoString returns the string representation.
  9867  //
  9868  // API parameter values that are decorated as "sensitive" in the API will not
  9869  // be included in the string output. The member name will be present, but the
  9870  // value will be replaced with "sensitive".
  9871  func (s UpdateFailoverConfig) GoString() string {
  9872  	return s.String()
  9873  }
  9874  
  9875  // SetFailoverMode sets the FailoverMode field's value.
  9876  func (s *UpdateFailoverConfig) SetFailoverMode(v string) *UpdateFailoverConfig {
  9877  	s.FailoverMode = &v
  9878  	return s
  9879  }
  9880  
  9881  // SetRecoveryWindow sets the RecoveryWindow field's value.
  9882  func (s *UpdateFailoverConfig) SetRecoveryWindow(v int64) *UpdateFailoverConfig {
  9883  	s.RecoveryWindow = &v
  9884  	return s
  9885  }
  9886  
  9887  // SetSourcePriority sets the SourcePriority field's value.
  9888  func (s *UpdateFailoverConfig) SetSourcePriority(v *SourcePriority) *UpdateFailoverConfig {
  9889  	s.SourcePriority = v
  9890  	return s
  9891  }
  9892  
  9893  // SetState sets the State field's value.
  9894  func (s *UpdateFailoverConfig) SetState(v string) *UpdateFailoverConfig {
  9895  	s.State = &v
  9896  	return s
  9897  }
  9898  
  9899  // The updates that you want to make to a specific entitlement.
  9900  type UpdateFlowEntitlementInput struct {
  9901  	_ struct{} `type:"structure"`
  9902  
  9903  	// A description of the entitlement. This description appears only on the AWS
  9904  	// Elemental MediaConnect console and will not be seen by the subscriber or
  9905  	// end user.
  9906  	Description *string `locationName:"description" type:"string"`
  9907  
  9908  	// The type of encryption that will be used on the output associated with this
  9909  	// entitlement.
  9910  	Encryption *UpdateEncryption `locationName:"encryption" type:"structure"`
  9911  
  9912  	// EntitlementArn is a required field
  9913  	EntitlementArn *string `location:"uri" locationName:"entitlementArn" type:"string" required:"true"`
  9914  
  9915  	// An indication of whether you want to enable the entitlement to allow access,
  9916  	// or disable it to stop streaming content to the subscriber’s flow temporarily.
  9917  	// If you don’t specify the entitlementStatus field in your request, MediaConnect
  9918  	// leaves the value unchanged.
  9919  	EntitlementStatus *string `locationName:"entitlementStatus" type:"string" enum:"EntitlementStatus"`
  9920  
  9921  	// FlowArn is a required field
  9922  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
  9923  
  9924  	// The AWS account IDs that you want to share your content with. The receiving
  9925  	// accounts (subscribers) will be allowed to create their own flow using your
  9926  	// content as the source.
  9927  	Subscribers []*string `locationName:"subscribers" type:"list"`
  9928  }
  9929  
  9930  // String returns the string representation.
  9931  //
  9932  // API parameter values that are decorated as "sensitive" in the API will not
  9933  // be included in the string output. The member name will be present, but the
  9934  // value will be replaced with "sensitive".
  9935  func (s UpdateFlowEntitlementInput) String() string {
  9936  	return awsutil.Prettify(s)
  9937  }
  9938  
  9939  // GoString returns the string representation.
  9940  //
  9941  // API parameter values that are decorated as "sensitive" in the API will not
  9942  // be included in the string output. The member name will be present, but the
  9943  // value will be replaced with "sensitive".
  9944  func (s UpdateFlowEntitlementInput) GoString() string {
  9945  	return s.String()
  9946  }
  9947  
  9948  // Validate inspects the fields of the type to determine if they are valid.
  9949  func (s *UpdateFlowEntitlementInput) Validate() error {
  9950  	invalidParams := request.ErrInvalidParams{Context: "UpdateFlowEntitlementInput"}
  9951  	if s.EntitlementArn == nil {
  9952  		invalidParams.Add(request.NewErrParamRequired("EntitlementArn"))
  9953  	}
  9954  	if s.EntitlementArn != nil && len(*s.EntitlementArn) < 1 {
  9955  		invalidParams.Add(request.NewErrParamMinLen("EntitlementArn", 1))
  9956  	}
  9957  	if s.FlowArn == nil {
  9958  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
  9959  	}
  9960  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
  9961  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
  9962  	}
  9963  
  9964  	if invalidParams.Len() > 0 {
  9965  		return invalidParams
  9966  	}
  9967  	return nil
  9968  }
  9969  
  9970  // SetDescription sets the Description field's value.
  9971  func (s *UpdateFlowEntitlementInput) SetDescription(v string) *UpdateFlowEntitlementInput {
  9972  	s.Description = &v
  9973  	return s
  9974  }
  9975  
  9976  // SetEncryption sets the Encryption field's value.
  9977  func (s *UpdateFlowEntitlementInput) SetEncryption(v *UpdateEncryption) *UpdateFlowEntitlementInput {
  9978  	s.Encryption = v
  9979  	return s
  9980  }
  9981  
  9982  // SetEntitlementArn sets the EntitlementArn field's value.
  9983  func (s *UpdateFlowEntitlementInput) SetEntitlementArn(v string) *UpdateFlowEntitlementInput {
  9984  	s.EntitlementArn = &v
  9985  	return s
  9986  }
  9987  
  9988  // SetEntitlementStatus sets the EntitlementStatus field's value.
  9989  func (s *UpdateFlowEntitlementInput) SetEntitlementStatus(v string) *UpdateFlowEntitlementInput {
  9990  	s.EntitlementStatus = &v
  9991  	return s
  9992  }
  9993  
  9994  // SetFlowArn sets the FlowArn field's value.
  9995  func (s *UpdateFlowEntitlementInput) SetFlowArn(v string) *UpdateFlowEntitlementInput {
  9996  	s.FlowArn = &v
  9997  	return s
  9998  }
  9999  
 10000  // SetSubscribers sets the Subscribers field's value.
 10001  func (s *UpdateFlowEntitlementInput) SetSubscribers(v []*string) *UpdateFlowEntitlementInput {
 10002  	s.Subscribers = v
 10003  	return s
 10004  }
 10005  
 10006  // The result of a successful UpdateFlowEntitlement request. The response includes
 10007  // the ARN of the flow that was updated and the updated entitlement configuration.
 10008  type UpdateFlowEntitlementOutput struct {
 10009  	_ struct{} `type:"structure"`
 10010  
 10011  	// The new configuration of the entitlement that you updated.
 10012  	Entitlement *Entitlement `locationName:"entitlement" type:"structure"`
 10013  
 10014  	// The ARN of the flow that this entitlement was granted on.
 10015  	FlowArn *string `locationName:"flowArn" type:"string"`
 10016  }
 10017  
 10018  // String returns the string representation.
 10019  //
 10020  // API parameter values that are decorated as "sensitive" in the API will not
 10021  // be included in the string output. The member name will be present, but the
 10022  // value will be replaced with "sensitive".
 10023  func (s UpdateFlowEntitlementOutput) String() string {
 10024  	return awsutil.Prettify(s)
 10025  }
 10026  
 10027  // GoString returns the string representation.
 10028  //
 10029  // API parameter values that are decorated as "sensitive" in the API will not
 10030  // be included in the string output. The member name will be present, but the
 10031  // value will be replaced with "sensitive".
 10032  func (s UpdateFlowEntitlementOutput) GoString() string {
 10033  	return s.String()
 10034  }
 10035  
 10036  // SetEntitlement sets the Entitlement field's value.
 10037  func (s *UpdateFlowEntitlementOutput) SetEntitlement(v *Entitlement) *UpdateFlowEntitlementOutput {
 10038  	s.Entitlement = v
 10039  	return s
 10040  }
 10041  
 10042  // SetFlowArn sets the FlowArn field's value.
 10043  func (s *UpdateFlowEntitlementOutput) SetFlowArn(v string) *UpdateFlowEntitlementOutput {
 10044  	s.FlowArn = &v
 10045  	return s
 10046  }
 10047  
 10048  // Updates an existing flow.
 10049  type UpdateFlowInput struct {
 10050  	_ struct{} `type:"structure"`
 10051  
 10052  	// FlowArn is a required field
 10053  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
 10054  
 10055  	// The settings for source failover
 10056  	SourceFailoverConfig *UpdateFailoverConfig `locationName:"sourceFailoverConfig" type:"structure"`
 10057  }
 10058  
 10059  // String returns the string representation.
 10060  //
 10061  // API parameter values that are decorated as "sensitive" in the API will not
 10062  // be included in the string output. The member name will be present, but the
 10063  // value will be replaced with "sensitive".
 10064  func (s UpdateFlowInput) String() string {
 10065  	return awsutil.Prettify(s)
 10066  }
 10067  
 10068  // GoString returns the string representation.
 10069  //
 10070  // API parameter values that are decorated as "sensitive" in the API will not
 10071  // be included in the string output. The member name will be present, but the
 10072  // value will be replaced with "sensitive".
 10073  func (s UpdateFlowInput) GoString() string {
 10074  	return s.String()
 10075  }
 10076  
 10077  // Validate inspects the fields of the type to determine if they are valid.
 10078  func (s *UpdateFlowInput) Validate() error {
 10079  	invalidParams := request.ErrInvalidParams{Context: "UpdateFlowInput"}
 10080  	if s.FlowArn == nil {
 10081  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
 10082  	}
 10083  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
 10084  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
 10085  	}
 10086  
 10087  	if invalidParams.Len() > 0 {
 10088  		return invalidParams
 10089  	}
 10090  	return nil
 10091  }
 10092  
 10093  // SetFlowArn sets the FlowArn field's value.
 10094  func (s *UpdateFlowInput) SetFlowArn(v string) *UpdateFlowInput {
 10095  	s.FlowArn = &v
 10096  	return s
 10097  }
 10098  
 10099  // SetSourceFailoverConfig sets the SourceFailoverConfig field's value.
 10100  func (s *UpdateFlowInput) SetSourceFailoverConfig(v *UpdateFailoverConfig) *UpdateFlowInput {
 10101  	s.SourceFailoverConfig = v
 10102  	return s
 10103  }
 10104  
 10105  // Update a media stream on a flow.
 10106  type UpdateFlowMediaStreamInput struct {
 10107  	_ struct{} `type:"structure"`
 10108  
 10109  	// The attributes that you want to assign to the media stream.
 10110  	Attributes *MediaStreamAttributesRequest `locationName:"attributes" type:"structure"`
 10111  
 10112  	// The sample rate (in Hz) for the stream. If the media stream type is video
 10113  	// or ancillary data, set this value to 90000. If the media stream type is audio,
 10114  	// set this value to either 48000 or 96000.
 10115  	ClockRate *int64 `locationName:"clockRate" type:"integer"`
 10116  
 10117  	// Description
 10118  	Description *string `locationName:"description" type:"string"`
 10119  
 10120  	// FlowArn is a required field
 10121  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
 10122  
 10123  	// MediaStreamName is a required field
 10124  	MediaStreamName *string `location:"uri" locationName:"mediaStreamName" type:"string" required:"true"`
 10125  
 10126  	// The type of media stream.
 10127  	MediaStreamType *string `locationName:"mediaStreamType" type:"string" enum:"MediaStreamType"`
 10128  
 10129  	// The resolution of the video.
 10130  	VideoFormat *string `locationName:"videoFormat" type:"string"`
 10131  }
 10132  
 10133  // String returns the string representation.
 10134  //
 10135  // API parameter values that are decorated as "sensitive" in the API will not
 10136  // be included in the string output. The member name will be present, but the
 10137  // value will be replaced with "sensitive".
 10138  func (s UpdateFlowMediaStreamInput) String() string {
 10139  	return awsutil.Prettify(s)
 10140  }
 10141  
 10142  // GoString returns the string representation.
 10143  //
 10144  // API parameter values that are decorated as "sensitive" in the API will not
 10145  // be included in the string output. The member name will be present, but the
 10146  // value will be replaced with "sensitive".
 10147  func (s UpdateFlowMediaStreamInput) GoString() string {
 10148  	return s.String()
 10149  }
 10150  
 10151  // Validate inspects the fields of the type to determine if they are valid.
 10152  func (s *UpdateFlowMediaStreamInput) Validate() error {
 10153  	invalidParams := request.ErrInvalidParams{Context: "UpdateFlowMediaStreamInput"}
 10154  	if s.FlowArn == nil {
 10155  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
 10156  	}
 10157  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
 10158  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
 10159  	}
 10160  	if s.MediaStreamName == nil {
 10161  		invalidParams.Add(request.NewErrParamRequired("MediaStreamName"))
 10162  	}
 10163  	if s.MediaStreamName != nil && len(*s.MediaStreamName) < 1 {
 10164  		invalidParams.Add(request.NewErrParamMinLen("MediaStreamName", 1))
 10165  	}
 10166  
 10167  	if invalidParams.Len() > 0 {
 10168  		return invalidParams
 10169  	}
 10170  	return nil
 10171  }
 10172  
 10173  // SetAttributes sets the Attributes field's value.
 10174  func (s *UpdateFlowMediaStreamInput) SetAttributes(v *MediaStreamAttributesRequest) *UpdateFlowMediaStreamInput {
 10175  	s.Attributes = v
 10176  	return s
 10177  }
 10178  
 10179  // SetClockRate sets the ClockRate field's value.
 10180  func (s *UpdateFlowMediaStreamInput) SetClockRate(v int64) *UpdateFlowMediaStreamInput {
 10181  	s.ClockRate = &v
 10182  	return s
 10183  }
 10184  
 10185  // SetDescription sets the Description field's value.
 10186  func (s *UpdateFlowMediaStreamInput) SetDescription(v string) *UpdateFlowMediaStreamInput {
 10187  	s.Description = &v
 10188  	return s
 10189  }
 10190  
 10191  // SetFlowArn sets the FlowArn field's value.
 10192  func (s *UpdateFlowMediaStreamInput) SetFlowArn(v string) *UpdateFlowMediaStreamInput {
 10193  	s.FlowArn = &v
 10194  	return s
 10195  }
 10196  
 10197  // SetMediaStreamName sets the MediaStreamName field's value.
 10198  func (s *UpdateFlowMediaStreamInput) SetMediaStreamName(v string) *UpdateFlowMediaStreamInput {
 10199  	s.MediaStreamName = &v
 10200  	return s
 10201  }
 10202  
 10203  // SetMediaStreamType sets the MediaStreamType field's value.
 10204  func (s *UpdateFlowMediaStreamInput) SetMediaStreamType(v string) *UpdateFlowMediaStreamInput {
 10205  	s.MediaStreamType = &v
 10206  	return s
 10207  }
 10208  
 10209  // SetVideoFormat sets the VideoFormat field's value.
 10210  func (s *UpdateFlowMediaStreamInput) SetVideoFormat(v string) *UpdateFlowMediaStreamInput {
 10211  	s.VideoFormat = &v
 10212  	return s
 10213  }
 10214  
 10215  // Update response
 10216  type UpdateFlowMediaStreamOutput struct {
 10217  	_ struct{} `type:"structure"`
 10218  
 10219  	// The ARN of the flow that is associated with the media stream that you updated.
 10220  	FlowArn *string `locationName:"flowArn" type:"string"`
 10221  
 10222  	// The media stream that you updated.
 10223  	MediaStream *MediaStream `locationName:"mediaStream" type:"structure"`
 10224  }
 10225  
 10226  // String returns the string representation.
 10227  //
 10228  // API parameter values that are decorated as "sensitive" in the API will not
 10229  // be included in the string output. The member name will be present, but the
 10230  // value will be replaced with "sensitive".
 10231  func (s UpdateFlowMediaStreamOutput) String() string {
 10232  	return awsutil.Prettify(s)
 10233  }
 10234  
 10235  // GoString returns the string representation.
 10236  //
 10237  // API parameter values that are decorated as "sensitive" in the API will not
 10238  // be included in the string output. The member name will be present, but the
 10239  // value will be replaced with "sensitive".
 10240  func (s UpdateFlowMediaStreamOutput) GoString() string {
 10241  	return s.String()
 10242  }
 10243  
 10244  // SetFlowArn sets the FlowArn field's value.
 10245  func (s *UpdateFlowMediaStreamOutput) SetFlowArn(v string) *UpdateFlowMediaStreamOutput {
 10246  	s.FlowArn = &v
 10247  	return s
 10248  }
 10249  
 10250  // SetMediaStream sets the MediaStream field's value.
 10251  func (s *UpdateFlowMediaStreamOutput) SetMediaStream(v *MediaStream) *UpdateFlowMediaStreamOutput {
 10252  	s.MediaStream = v
 10253  	return s
 10254  }
 10255  
 10256  // Updates an existing flow.
 10257  type UpdateFlowOutput struct {
 10258  	_ struct{} `type:"structure"`
 10259  
 10260  	// The settings for a flow, including its source, outputs, and entitlements.
 10261  	Flow *Flow `locationName:"flow" type:"structure"`
 10262  }
 10263  
 10264  // String returns the string representation.
 10265  //
 10266  // API parameter values that are decorated as "sensitive" in the API will not
 10267  // be included in the string output. The member name will be present, but the
 10268  // value will be replaced with "sensitive".
 10269  func (s UpdateFlowOutput) String() string {
 10270  	return awsutil.Prettify(s)
 10271  }
 10272  
 10273  // GoString returns the string representation.
 10274  //
 10275  // API parameter values that are decorated as "sensitive" in the API will not
 10276  // be included in the string output. The member name will be present, but the
 10277  // value will be replaced with "sensitive".
 10278  func (s UpdateFlowOutput) GoString() string {
 10279  	return s.String()
 10280  }
 10281  
 10282  // SetFlow sets the Flow field's value.
 10283  func (s *UpdateFlowOutput) SetFlow(v *Flow) *UpdateFlowOutput {
 10284  	s.Flow = v
 10285  	return s
 10286  }
 10287  
 10288  // The updates that you want to make to an existing output of an existing flow.
 10289  type UpdateFlowOutputInput struct {
 10290  	_ struct{} `type:"structure"`
 10291  
 10292  	// The range of IP addresses that should be allowed to initiate output requests
 10293  	// to this flow. These IP addresses should be in the form of a Classless Inter-Domain
 10294  	// Routing (CIDR) block; for example, 10.0.0.0/16.
 10295  	CidrAllowList []*string `locationName:"cidrAllowList" type:"list"`
 10296  
 10297  	// A description of the output. This description appears only on the AWS Elemental
 10298  	// MediaConnect console and will not be seen by the end user.
 10299  	Description *string `locationName:"description" type:"string"`
 10300  
 10301  	// The IP address where you want to send the output.
 10302  	Destination *string `locationName:"destination" type:"string"`
 10303  
 10304  	// The type of key used for the encryption. If no keyType is provided, the service
 10305  	// will use the default setting (static-key).
 10306  	Encryption *UpdateEncryption `locationName:"encryption" type:"structure"`
 10307  
 10308  	// FlowArn is a required field
 10309  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
 10310  
 10311  	// The maximum latency in milliseconds for Zixi-based streams.
 10312  	MaxLatency *int64 `locationName:"maxLatency" type:"integer"`
 10313  
 10314  	// The media streams that are associated with the output, and the parameters
 10315  	// for those associations.
 10316  	MediaStreamOutputConfigurations []*MediaStreamOutputConfigurationRequest `locationName:"mediaStreamOutputConfigurations" type:"list"`
 10317  
 10318  	// The minimum latency in milliseconds for SRT-based streams. In streams that
 10319  	// use the SRT protocol, this value that you set on your MediaConnect source
 10320  	// or output represents the minimal potential latency of that connection. The
 10321  	// latency of the stream is set to the highest number between the sender’s
 10322  	// minimum latency and the receiver’s minimum latency.
 10323  	MinLatency *int64 `locationName:"minLatency" type:"integer"`
 10324  
 10325  	// OutputArn is a required field
 10326  	OutputArn *string `location:"uri" locationName:"outputArn" type:"string" required:"true"`
 10327  
 10328  	// The port to use when content is distributed to this output.
 10329  	Port *int64 `locationName:"port" type:"integer"`
 10330  
 10331  	// The protocol to use for the output.
 10332  	Protocol *string `locationName:"protocol" type:"string" enum:"Protocol"`
 10333  
 10334  	// The remote ID for the Zixi-pull stream.
 10335  	RemoteId *string `locationName:"remoteId" type:"string"`
 10336  
 10337  	// The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
 10338  	SmoothingLatency *int64 `locationName:"smoothingLatency" type:"integer"`
 10339  
 10340  	// The stream ID that you want to use for this transport. This parameter applies
 10341  	// only to Zixi-based streams.
 10342  	StreamId *string `locationName:"streamId" type:"string"`
 10343  
 10344  	// The name of the VPC interface attachment to use for this output.
 10345  	VpcInterfaceAttachment *VpcInterfaceAttachment `locationName:"vpcInterfaceAttachment" type:"structure"`
 10346  }
 10347  
 10348  // String returns the string representation.
 10349  //
 10350  // API parameter values that are decorated as "sensitive" in the API will not
 10351  // be included in the string output. The member name will be present, but the
 10352  // value will be replaced with "sensitive".
 10353  func (s UpdateFlowOutputInput) String() string {
 10354  	return awsutil.Prettify(s)
 10355  }
 10356  
 10357  // GoString returns the string representation.
 10358  //
 10359  // API parameter values that are decorated as "sensitive" in the API will not
 10360  // be included in the string output. The member name will be present, but the
 10361  // value will be replaced with "sensitive".
 10362  func (s UpdateFlowOutputInput) GoString() string {
 10363  	return s.String()
 10364  }
 10365  
 10366  // Validate inspects the fields of the type to determine if they are valid.
 10367  func (s *UpdateFlowOutputInput) Validate() error {
 10368  	invalidParams := request.ErrInvalidParams{Context: "UpdateFlowOutputInput"}
 10369  	if s.FlowArn == nil {
 10370  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
 10371  	}
 10372  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
 10373  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
 10374  	}
 10375  	if s.OutputArn == nil {
 10376  		invalidParams.Add(request.NewErrParamRequired("OutputArn"))
 10377  	}
 10378  	if s.OutputArn != nil && len(*s.OutputArn) < 1 {
 10379  		invalidParams.Add(request.NewErrParamMinLen("OutputArn", 1))
 10380  	}
 10381  	if s.MediaStreamOutputConfigurations != nil {
 10382  		for i, v := range s.MediaStreamOutputConfigurations {
 10383  			if v == nil {
 10384  				continue
 10385  			}
 10386  			if err := v.Validate(); err != nil {
 10387  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaStreamOutputConfigurations", i), err.(request.ErrInvalidParams))
 10388  			}
 10389  		}
 10390  	}
 10391  
 10392  	if invalidParams.Len() > 0 {
 10393  		return invalidParams
 10394  	}
 10395  	return nil
 10396  }
 10397  
 10398  // SetCidrAllowList sets the CidrAllowList field's value.
 10399  func (s *UpdateFlowOutputInput) SetCidrAllowList(v []*string) *UpdateFlowOutputInput {
 10400  	s.CidrAllowList = v
 10401  	return s
 10402  }
 10403  
 10404  // SetDescription sets the Description field's value.
 10405  func (s *UpdateFlowOutputInput) SetDescription(v string) *UpdateFlowOutputInput {
 10406  	s.Description = &v
 10407  	return s
 10408  }
 10409  
 10410  // SetDestination sets the Destination field's value.
 10411  func (s *UpdateFlowOutputInput) SetDestination(v string) *UpdateFlowOutputInput {
 10412  	s.Destination = &v
 10413  	return s
 10414  }
 10415  
 10416  // SetEncryption sets the Encryption field's value.
 10417  func (s *UpdateFlowOutputInput) SetEncryption(v *UpdateEncryption) *UpdateFlowOutputInput {
 10418  	s.Encryption = v
 10419  	return s
 10420  }
 10421  
 10422  // SetFlowArn sets the FlowArn field's value.
 10423  func (s *UpdateFlowOutputInput) SetFlowArn(v string) *UpdateFlowOutputInput {
 10424  	s.FlowArn = &v
 10425  	return s
 10426  }
 10427  
 10428  // SetMaxLatency sets the MaxLatency field's value.
 10429  func (s *UpdateFlowOutputInput) SetMaxLatency(v int64) *UpdateFlowOutputInput {
 10430  	s.MaxLatency = &v
 10431  	return s
 10432  }
 10433  
 10434  // SetMediaStreamOutputConfigurations sets the MediaStreamOutputConfigurations field's value.
 10435  func (s *UpdateFlowOutputInput) SetMediaStreamOutputConfigurations(v []*MediaStreamOutputConfigurationRequest) *UpdateFlowOutputInput {
 10436  	s.MediaStreamOutputConfigurations = v
 10437  	return s
 10438  }
 10439  
 10440  // SetMinLatency sets the MinLatency field's value.
 10441  func (s *UpdateFlowOutputInput) SetMinLatency(v int64) *UpdateFlowOutputInput {
 10442  	s.MinLatency = &v
 10443  	return s
 10444  }
 10445  
 10446  // SetOutputArn sets the OutputArn field's value.
 10447  func (s *UpdateFlowOutputInput) SetOutputArn(v string) *UpdateFlowOutputInput {
 10448  	s.OutputArn = &v
 10449  	return s
 10450  }
 10451  
 10452  // SetPort sets the Port field's value.
 10453  func (s *UpdateFlowOutputInput) SetPort(v int64) *UpdateFlowOutputInput {
 10454  	s.Port = &v
 10455  	return s
 10456  }
 10457  
 10458  // SetProtocol sets the Protocol field's value.
 10459  func (s *UpdateFlowOutputInput) SetProtocol(v string) *UpdateFlowOutputInput {
 10460  	s.Protocol = &v
 10461  	return s
 10462  }
 10463  
 10464  // SetRemoteId sets the RemoteId field's value.
 10465  func (s *UpdateFlowOutputInput) SetRemoteId(v string) *UpdateFlowOutputInput {
 10466  	s.RemoteId = &v
 10467  	return s
 10468  }
 10469  
 10470  // SetSmoothingLatency sets the SmoothingLatency field's value.
 10471  func (s *UpdateFlowOutputInput) SetSmoothingLatency(v int64) *UpdateFlowOutputInput {
 10472  	s.SmoothingLatency = &v
 10473  	return s
 10474  }
 10475  
 10476  // SetStreamId sets the StreamId field's value.
 10477  func (s *UpdateFlowOutputInput) SetStreamId(v string) *UpdateFlowOutputInput {
 10478  	s.StreamId = &v
 10479  	return s
 10480  }
 10481  
 10482  // SetVpcInterfaceAttachment sets the VpcInterfaceAttachment field's value.
 10483  func (s *UpdateFlowOutputInput) SetVpcInterfaceAttachment(v *VpcInterfaceAttachment) *UpdateFlowOutputInput {
 10484  	s.VpcInterfaceAttachment = v
 10485  	return s
 10486  }
 10487  
 10488  // The result of a successful UpdateFlowOutput request including the flow ARN
 10489  // and the updated output.
 10490  type UpdateFlowOutputOutput struct {
 10491  	_ struct{} `type:"structure"`
 10492  
 10493  	// The ARN of the flow that is associated with the updated output.
 10494  	FlowArn *string `locationName:"flowArn" type:"string"`
 10495  
 10496  	// The new settings of the output that you updated.
 10497  	Output *Output `locationName:"output" type:"structure"`
 10498  }
 10499  
 10500  // String returns the string representation.
 10501  //
 10502  // API parameter values that are decorated as "sensitive" in the API will not
 10503  // be included in the string output. The member name will be present, but the
 10504  // value will be replaced with "sensitive".
 10505  func (s UpdateFlowOutputOutput) String() string {
 10506  	return awsutil.Prettify(s)
 10507  }
 10508  
 10509  // GoString returns the string representation.
 10510  //
 10511  // API parameter values that are decorated as "sensitive" in the API will not
 10512  // be included in the string output. The member name will be present, but the
 10513  // value will be replaced with "sensitive".
 10514  func (s UpdateFlowOutputOutput) GoString() string {
 10515  	return s.String()
 10516  }
 10517  
 10518  // SetFlowArn sets the FlowArn field's value.
 10519  func (s *UpdateFlowOutputOutput) SetFlowArn(v string) *UpdateFlowOutputOutput {
 10520  	s.FlowArn = &v
 10521  	return s
 10522  }
 10523  
 10524  // SetOutput sets the Output field's value.
 10525  func (s *UpdateFlowOutputOutput) SetOutput(v *Output) *UpdateFlowOutputOutput {
 10526  	s.Output = v
 10527  	return s
 10528  }
 10529  
 10530  // The updates that you want to make to an existing source of an existing flow.
 10531  type UpdateFlowSourceInput struct {
 10532  	_ struct{} `type:"structure"`
 10533  
 10534  	// The type of encryption used on the content ingested from this source.
 10535  	Decryption *UpdateEncryption `locationName:"decryption" type:"structure"`
 10536  
 10537  	// A description for the source. This value is not used or seen outside of the
 10538  	// current AWS Elemental MediaConnect account.
 10539  	Description *string `locationName:"description" type:"string"`
 10540  
 10541  	// The ARN of the entitlement that allows you to subscribe to this flow. The
 10542  	// entitlement is set by the flow originator, and the ARN is generated as part
 10543  	// of the originator's flow.
 10544  	EntitlementArn *string `locationName:"entitlementArn" type:"string"`
 10545  
 10546  	// FlowArn is a required field
 10547  	FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"`
 10548  
 10549  	// The port that the flow will be listening on for incoming content.
 10550  	IngestPort *int64 `locationName:"ingestPort" type:"integer"`
 10551  
 10552  	// The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
 10553  	MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"`
 10554  
 10555  	// The maximum latency in milliseconds. This parameter applies only to RIST-based
 10556  	// and Zixi-based streams.
 10557  	MaxLatency *int64 `locationName:"maxLatency" type:"integer"`
 10558  
 10559  	// The size of the buffer (in milliseconds) to use to sync incoming source data.
 10560  	MaxSyncBuffer *int64 `locationName:"maxSyncBuffer" type:"integer"`
 10561  
 10562  	// The media streams that are associated with the source, and the parameters
 10563  	// for those associations.
 10564  	MediaStreamSourceConfigurations []*MediaStreamSourceConfigurationRequest `locationName:"mediaStreamSourceConfigurations" type:"list"`
 10565  
 10566  	// The minimum latency in milliseconds for SRT-based streams. In streams that
 10567  	// use the SRT protocol, this value that you set on your MediaConnect source
 10568  	// or output represents the minimal potential latency of that connection. The
 10569  	// latency of the stream is set to the highest number between the sender’s
 10570  	// minimum latency and the receiver’s minimum latency.
 10571  	MinLatency *int64 `locationName:"minLatency" type:"integer"`
 10572  
 10573  	// The protocol that is used by the source.
 10574  	Protocol *string `locationName:"protocol" type:"string" enum:"Protocol"`
 10575  
 10576  	// SourceArn is a required field
 10577  	SourceArn *string `location:"uri" locationName:"sourceArn" type:"string" required:"true"`
 10578  
 10579  	// The stream ID that you want to use for this transport. This parameter applies
 10580  	// only to Zixi-based streams.
 10581  	StreamId *string `locationName:"streamId" type:"string"`
 10582  
 10583  	// The name of the VPC interface to use for this source.
 10584  	VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"`
 10585  
 10586  	// The range of IP addresses that should be allowed to contribute content to
 10587  	// your source. These IP addresses should be in the form of a Classless Inter-Domain
 10588  	// Routing (CIDR) block; for example, 10.0.0.0/16.
 10589  	WhitelistCidr *string `locationName:"whitelistCidr" type:"string"`
 10590  }
 10591  
 10592  // String returns the string representation.
 10593  //
 10594  // API parameter values that are decorated as "sensitive" in the API will not
 10595  // be included in the string output. The member name will be present, but the
 10596  // value will be replaced with "sensitive".
 10597  func (s UpdateFlowSourceInput) String() string {
 10598  	return awsutil.Prettify(s)
 10599  }
 10600  
 10601  // GoString returns the string representation.
 10602  //
 10603  // API parameter values that are decorated as "sensitive" in the API will not
 10604  // be included in the string output. The member name will be present, but the
 10605  // value will be replaced with "sensitive".
 10606  func (s UpdateFlowSourceInput) GoString() string {
 10607  	return s.String()
 10608  }
 10609  
 10610  // Validate inspects the fields of the type to determine if they are valid.
 10611  func (s *UpdateFlowSourceInput) Validate() error {
 10612  	invalidParams := request.ErrInvalidParams{Context: "UpdateFlowSourceInput"}
 10613  	if s.FlowArn == nil {
 10614  		invalidParams.Add(request.NewErrParamRequired("FlowArn"))
 10615  	}
 10616  	if s.FlowArn != nil && len(*s.FlowArn) < 1 {
 10617  		invalidParams.Add(request.NewErrParamMinLen("FlowArn", 1))
 10618  	}
 10619  	if s.SourceArn == nil {
 10620  		invalidParams.Add(request.NewErrParamRequired("SourceArn"))
 10621  	}
 10622  	if s.SourceArn != nil && len(*s.SourceArn) < 1 {
 10623  		invalidParams.Add(request.NewErrParamMinLen("SourceArn", 1))
 10624  	}
 10625  	if s.MediaStreamSourceConfigurations != nil {
 10626  		for i, v := range s.MediaStreamSourceConfigurations {
 10627  			if v == nil {
 10628  				continue
 10629  			}
 10630  			if err := v.Validate(); err != nil {
 10631  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaStreamSourceConfigurations", i), err.(request.ErrInvalidParams))
 10632  			}
 10633  		}
 10634  	}
 10635  
 10636  	if invalidParams.Len() > 0 {
 10637  		return invalidParams
 10638  	}
 10639  	return nil
 10640  }
 10641  
 10642  // SetDecryption sets the Decryption field's value.
 10643  func (s *UpdateFlowSourceInput) SetDecryption(v *UpdateEncryption) *UpdateFlowSourceInput {
 10644  	s.Decryption = v
 10645  	return s
 10646  }
 10647  
 10648  // SetDescription sets the Description field's value.
 10649  func (s *UpdateFlowSourceInput) SetDescription(v string) *UpdateFlowSourceInput {
 10650  	s.Description = &v
 10651  	return s
 10652  }
 10653  
 10654  // SetEntitlementArn sets the EntitlementArn field's value.
 10655  func (s *UpdateFlowSourceInput) SetEntitlementArn(v string) *UpdateFlowSourceInput {
 10656  	s.EntitlementArn = &v
 10657  	return s
 10658  }
 10659  
 10660  // SetFlowArn sets the FlowArn field's value.
 10661  func (s *UpdateFlowSourceInput) SetFlowArn(v string) *UpdateFlowSourceInput {
 10662  	s.FlowArn = &v
 10663  	return s
 10664  }
 10665  
 10666  // SetIngestPort sets the IngestPort field's value.
 10667  func (s *UpdateFlowSourceInput) SetIngestPort(v int64) *UpdateFlowSourceInput {
 10668  	s.IngestPort = &v
 10669  	return s
 10670  }
 10671  
 10672  // SetMaxBitrate sets the MaxBitrate field's value.
 10673  func (s *UpdateFlowSourceInput) SetMaxBitrate(v int64) *UpdateFlowSourceInput {
 10674  	s.MaxBitrate = &v
 10675  	return s
 10676  }
 10677  
 10678  // SetMaxLatency sets the MaxLatency field's value.
 10679  func (s *UpdateFlowSourceInput) SetMaxLatency(v int64) *UpdateFlowSourceInput {
 10680  	s.MaxLatency = &v
 10681  	return s
 10682  }
 10683  
 10684  // SetMaxSyncBuffer sets the MaxSyncBuffer field's value.
 10685  func (s *UpdateFlowSourceInput) SetMaxSyncBuffer(v int64) *UpdateFlowSourceInput {
 10686  	s.MaxSyncBuffer = &v
 10687  	return s
 10688  }
 10689  
 10690  // SetMediaStreamSourceConfigurations sets the MediaStreamSourceConfigurations field's value.
 10691  func (s *UpdateFlowSourceInput) SetMediaStreamSourceConfigurations(v []*MediaStreamSourceConfigurationRequest) *UpdateFlowSourceInput {
 10692  	s.MediaStreamSourceConfigurations = v
 10693  	return s
 10694  }
 10695  
 10696  // SetMinLatency sets the MinLatency field's value.
 10697  func (s *UpdateFlowSourceInput) SetMinLatency(v int64) *UpdateFlowSourceInput {
 10698  	s.MinLatency = &v
 10699  	return s
 10700  }
 10701  
 10702  // SetProtocol sets the Protocol field's value.
 10703  func (s *UpdateFlowSourceInput) SetProtocol(v string) *UpdateFlowSourceInput {
 10704  	s.Protocol = &v
 10705  	return s
 10706  }
 10707  
 10708  // SetSourceArn sets the SourceArn field's value.
 10709  func (s *UpdateFlowSourceInput) SetSourceArn(v string) *UpdateFlowSourceInput {
 10710  	s.SourceArn = &v
 10711  	return s
 10712  }
 10713  
 10714  // SetStreamId sets the StreamId field's value.
 10715  func (s *UpdateFlowSourceInput) SetStreamId(v string) *UpdateFlowSourceInput {
 10716  	s.StreamId = &v
 10717  	return s
 10718  }
 10719  
 10720  // SetVpcInterfaceName sets the VpcInterfaceName field's value.
 10721  func (s *UpdateFlowSourceInput) SetVpcInterfaceName(v string) *UpdateFlowSourceInput {
 10722  	s.VpcInterfaceName = &v
 10723  	return s
 10724  }
 10725  
 10726  // SetWhitelistCidr sets the WhitelistCidr field's value.
 10727  func (s *UpdateFlowSourceInput) SetWhitelistCidr(v string) *UpdateFlowSourceInput {
 10728  	s.WhitelistCidr = &v
 10729  	return s
 10730  }
 10731  
 10732  // The result of a successful UpdateFlowSource request. The response includes
 10733  // the ARN of the flow that was updated and the updated source configuration.
 10734  type UpdateFlowSourceOutput struct {
 10735  	_ struct{} `type:"structure"`
 10736  
 10737  	// The ARN of the flow that you want to update.
 10738  	FlowArn *string `locationName:"flowArn" type:"string"`
 10739  
 10740  	// The settings for the source of the flow.
 10741  	Source *Source `locationName:"source" type:"structure"`
 10742  }
 10743  
 10744  // String returns the string representation.
 10745  //
 10746  // API parameter values that are decorated as "sensitive" in the API will not
 10747  // be included in the string output. The member name will be present, but the
 10748  // value will be replaced with "sensitive".
 10749  func (s UpdateFlowSourceOutput) String() string {
 10750  	return awsutil.Prettify(s)
 10751  }
 10752  
 10753  // GoString returns the string representation.
 10754  //
 10755  // API parameter values that are decorated as "sensitive" in the API will not
 10756  // be included in the string output. The member name will be present, but the
 10757  // value will be replaced with "sensitive".
 10758  func (s UpdateFlowSourceOutput) GoString() string {
 10759  	return s.String()
 10760  }
 10761  
 10762  // SetFlowArn sets the FlowArn field's value.
 10763  func (s *UpdateFlowSourceOutput) SetFlowArn(v string) *UpdateFlowSourceOutput {
 10764  	s.FlowArn = &v
 10765  	return s
 10766  }
 10767  
 10768  // SetSource sets the Source field's value.
 10769  func (s *UpdateFlowSourceOutput) SetSource(v *Source) *UpdateFlowSourceOutput {
 10770  	s.Source = v
 10771  	return s
 10772  }
 10773  
 10774  // The settings for a VPC Source.
 10775  type VpcInterface struct {
 10776  	_ struct{} `type:"structure"`
 10777  
 10778  	// Immutable and has to be a unique against other VpcInterfaces in this Flow
 10779  	//
 10780  	// Name is a required field
 10781  	Name *string `locationName:"name" type:"string" required:"true"`
 10782  
 10783  	// IDs of the network interfaces created in customer's account by MediaConnect.
 10784  	//
 10785  	// NetworkInterfaceIds is a required field
 10786  	NetworkInterfaceIds []*string `locationName:"networkInterfaceIds" type:"list" required:"true"`
 10787  
 10788  	// The type of network interface.
 10789  	//
 10790  	// NetworkInterfaceType is a required field
 10791  	NetworkInterfaceType *string `locationName:"networkInterfaceType" type:"string" required:"true" enum:"NetworkInterfaceType"`
 10792  
 10793  	// Role Arn MediaConnect can assumes to create ENIs in customer's account
 10794  	//
 10795  	// RoleArn is a required field
 10796  	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
 10797  
 10798  	// Security Group IDs to be used on ENI.
 10799  	//
 10800  	// SecurityGroupIds is a required field
 10801  	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list" required:"true"`
 10802  
 10803  	// Subnet must be in the AZ of the Flow
 10804  	//
 10805  	// SubnetId is a required field
 10806  	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
 10807  }
 10808  
 10809  // String returns the string representation.
 10810  //
 10811  // API parameter values that are decorated as "sensitive" in the API will not
 10812  // be included in the string output. The member name will be present, but the
 10813  // value will be replaced with "sensitive".
 10814  func (s VpcInterface) String() string {
 10815  	return awsutil.Prettify(s)
 10816  }
 10817  
 10818  // GoString returns the string representation.
 10819  //
 10820  // API parameter values that are decorated as "sensitive" in the API will not
 10821  // be included in the string output. The member name will be present, but the
 10822  // value will be replaced with "sensitive".
 10823  func (s VpcInterface) GoString() string {
 10824  	return s.String()
 10825  }
 10826  
 10827  // SetName sets the Name field's value.
 10828  func (s *VpcInterface) SetName(v string) *VpcInterface {
 10829  	s.Name = &v
 10830  	return s
 10831  }
 10832  
 10833  // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
 10834  func (s *VpcInterface) SetNetworkInterfaceIds(v []*string) *VpcInterface {
 10835  	s.NetworkInterfaceIds = v
 10836  	return s
 10837  }
 10838  
 10839  // SetNetworkInterfaceType sets the NetworkInterfaceType field's value.
 10840  func (s *VpcInterface) SetNetworkInterfaceType(v string) *VpcInterface {
 10841  	s.NetworkInterfaceType = &v
 10842  	return s
 10843  }
 10844  
 10845  // SetRoleArn sets the RoleArn field's value.
 10846  func (s *VpcInterface) SetRoleArn(v string) *VpcInterface {
 10847  	s.RoleArn = &v
 10848  	return s
 10849  }
 10850  
 10851  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 10852  func (s *VpcInterface) SetSecurityGroupIds(v []*string) *VpcInterface {
 10853  	s.SecurityGroupIds = v
 10854  	return s
 10855  }
 10856  
 10857  // SetSubnetId sets the SubnetId field's value.
 10858  func (s *VpcInterface) SetSubnetId(v string) *VpcInterface {
 10859  	s.SubnetId = &v
 10860  	return s
 10861  }
 10862  
 10863  // The settings for attaching a VPC interface to an output.
 10864  type VpcInterfaceAttachment struct {
 10865  	_ struct{} `type:"structure"`
 10866  
 10867  	// The name of the VPC interface to use for this output.
 10868  	VpcInterfaceName *string `locationName:"vpcInterfaceName" type:"string"`
 10869  }
 10870  
 10871  // String returns the string representation.
 10872  //
 10873  // API parameter values that are decorated as "sensitive" in the API will not
 10874  // be included in the string output. The member name will be present, but the
 10875  // value will be replaced with "sensitive".
 10876  func (s VpcInterfaceAttachment) String() string {
 10877  	return awsutil.Prettify(s)
 10878  }
 10879  
 10880  // GoString returns the string representation.
 10881  //
 10882  // API parameter values that are decorated as "sensitive" in the API will not
 10883  // be included in the string output. The member name will be present, but the
 10884  // value will be replaced with "sensitive".
 10885  func (s VpcInterfaceAttachment) GoString() string {
 10886  	return s.String()
 10887  }
 10888  
 10889  // SetVpcInterfaceName sets the VpcInterfaceName field's value.
 10890  func (s *VpcInterfaceAttachment) SetVpcInterfaceName(v string) *VpcInterfaceAttachment {
 10891  	s.VpcInterfaceName = &v
 10892  	return s
 10893  }
 10894  
 10895  // Desired VPC Interface for a Flow
 10896  type VpcInterfaceRequest struct {
 10897  	_ struct{} `type:"structure"`
 10898  
 10899  	// The name of the VPC Interface. This value must be unique within the current
 10900  	// flow.
 10901  	//
 10902  	// Name is a required field
 10903  	Name *string `locationName:"name" type:"string" required:"true"`
 10904  
 10905  	// The type of network interface. If this value is not included in the request,
 10906  	// MediaConnect uses ENA as the networkInterfaceType.
 10907  	NetworkInterfaceType *string `locationName:"networkInterfaceType" type:"string" enum:"NetworkInterfaceType"`
 10908  
 10909  	// Role Arn MediaConnect can assumes to create ENIs in customer's account
 10910  	//
 10911  	// RoleArn is a required field
 10912  	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
 10913  
 10914  	// Security Group IDs to be used on ENI.
 10915  	//
 10916  	// SecurityGroupIds is a required field
 10917  	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list" required:"true"`
 10918  
 10919  	// Subnet must be in the AZ of the Flow
 10920  	//
 10921  	// SubnetId is a required field
 10922  	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
 10923  }
 10924  
 10925  // String returns the string representation.
 10926  //
 10927  // API parameter values that are decorated as "sensitive" in the API will not
 10928  // be included in the string output. The member name will be present, but the
 10929  // value will be replaced with "sensitive".
 10930  func (s VpcInterfaceRequest) String() string {
 10931  	return awsutil.Prettify(s)
 10932  }
 10933  
 10934  // GoString returns the string representation.
 10935  //
 10936  // API parameter values that are decorated as "sensitive" in the API will not
 10937  // be included in the string output. The member name will be present, but the
 10938  // value will be replaced with "sensitive".
 10939  func (s VpcInterfaceRequest) GoString() string {
 10940  	return s.String()
 10941  }
 10942  
 10943  // Validate inspects the fields of the type to determine if they are valid.
 10944  func (s *VpcInterfaceRequest) Validate() error {
 10945  	invalidParams := request.ErrInvalidParams{Context: "VpcInterfaceRequest"}
 10946  	if s.Name == nil {
 10947  		invalidParams.Add(request.NewErrParamRequired("Name"))
 10948  	}
 10949  	if s.RoleArn == nil {
 10950  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 10951  	}
 10952  	if s.SecurityGroupIds == nil {
 10953  		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
 10954  	}
 10955  	if s.SubnetId == nil {
 10956  		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
 10957  	}
 10958  
 10959  	if invalidParams.Len() > 0 {
 10960  		return invalidParams
 10961  	}
 10962  	return nil
 10963  }
 10964  
 10965  // SetName sets the Name field's value.
 10966  func (s *VpcInterfaceRequest) SetName(v string) *VpcInterfaceRequest {
 10967  	s.Name = &v
 10968  	return s
 10969  }
 10970  
 10971  // SetNetworkInterfaceType sets the NetworkInterfaceType field's value.
 10972  func (s *VpcInterfaceRequest) SetNetworkInterfaceType(v string) *VpcInterfaceRequest {
 10973  	s.NetworkInterfaceType = &v
 10974  	return s
 10975  }
 10976  
 10977  // SetRoleArn sets the RoleArn field's value.
 10978  func (s *VpcInterfaceRequest) SetRoleArn(v string) *VpcInterfaceRequest {
 10979  	s.RoleArn = &v
 10980  	return s
 10981  }
 10982  
 10983  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 10984  func (s *VpcInterfaceRequest) SetSecurityGroupIds(v []*string) *VpcInterfaceRequest {
 10985  	s.SecurityGroupIds = v
 10986  	return s
 10987  }
 10988  
 10989  // SetSubnetId sets the SubnetId field's value.
 10990  func (s *VpcInterfaceRequest) SetSubnetId(v string) *VpcInterfaceRequest {
 10991  	s.SubnetId = &v
 10992  	return s
 10993  }
 10994  
 10995  const (
 10996  	// AlgorithmAes128 is a Algorithm enum value
 10997  	AlgorithmAes128 = "aes128"
 10998  
 10999  	// AlgorithmAes192 is a Algorithm enum value
 11000  	AlgorithmAes192 = "aes192"
 11001  
 11002  	// AlgorithmAes256 is a Algorithm enum value
 11003  	AlgorithmAes256 = "aes256"
 11004  )
 11005  
 11006  // Algorithm_Values returns all elements of the Algorithm enum
 11007  func Algorithm_Values() []string {
 11008  	return []string{
 11009  		AlgorithmAes128,
 11010  		AlgorithmAes192,
 11011  		AlgorithmAes256,
 11012  	}
 11013  }
 11014  
 11015  const (
 11016  	// ColorimetryBt601 is a Colorimetry enum value
 11017  	ColorimetryBt601 = "BT601"
 11018  
 11019  	// ColorimetryBt709 is a Colorimetry enum value
 11020  	ColorimetryBt709 = "BT709"
 11021  
 11022  	// ColorimetryBt2020 is a Colorimetry enum value
 11023  	ColorimetryBt2020 = "BT2020"
 11024  
 11025  	// ColorimetryBt2100 is a Colorimetry enum value
 11026  	ColorimetryBt2100 = "BT2100"
 11027  
 11028  	// ColorimetrySt20651 is a Colorimetry enum value
 11029  	ColorimetrySt20651 = "ST2065-1"
 11030  
 11031  	// ColorimetrySt20653 is a Colorimetry enum value
 11032  	ColorimetrySt20653 = "ST2065-3"
 11033  
 11034  	// ColorimetryXyz is a Colorimetry enum value
 11035  	ColorimetryXyz = "XYZ"
 11036  )
 11037  
 11038  // Colorimetry_Values returns all elements of the Colorimetry enum
 11039  func Colorimetry_Values() []string {
 11040  	return []string{
 11041  		ColorimetryBt601,
 11042  		ColorimetryBt709,
 11043  		ColorimetryBt2020,
 11044  		ColorimetryBt2100,
 11045  		ColorimetrySt20651,
 11046  		ColorimetrySt20653,
 11047  		ColorimetryXyz,
 11048  	}
 11049  }
 11050  
 11051  const (
 11052  	// DurationUnitsMonths is a DurationUnits enum value
 11053  	DurationUnitsMonths = "MONTHS"
 11054  )
 11055  
 11056  // DurationUnits_Values returns all elements of the DurationUnits enum
 11057  func DurationUnits_Values() []string {
 11058  	return []string{
 11059  		DurationUnitsMonths,
 11060  	}
 11061  }
 11062  
 11063  const (
 11064  	// EncoderProfileMain is a EncoderProfile enum value
 11065  	EncoderProfileMain = "main"
 11066  
 11067  	// EncoderProfileHigh is a EncoderProfile enum value
 11068  	EncoderProfileHigh = "high"
 11069  )
 11070  
 11071  // EncoderProfile_Values returns all elements of the EncoderProfile enum
 11072  func EncoderProfile_Values() []string {
 11073  	return []string{
 11074  		EncoderProfileMain,
 11075  		EncoderProfileHigh,
 11076  	}
 11077  }
 11078  
 11079  const (
 11080  	// EncodingNameJxsv is a EncodingName enum value
 11081  	EncodingNameJxsv = "jxsv"
 11082  
 11083  	// EncodingNameRaw is a EncodingName enum value
 11084  	EncodingNameRaw = "raw"
 11085  
 11086  	// EncodingNameSmpte291 is a EncodingName enum value
 11087  	EncodingNameSmpte291 = "smpte291"
 11088  
 11089  	// EncodingNamePcm is a EncodingName enum value
 11090  	EncodingNamePcm = "pcm"
 11091  )
 11092  
 11093  // EncodingName_Values returns all elements of the EncodingName enum
 11094  func EncodingName_Values() []string {
 11095  	return []string{
 11096  		EncodingNameJxsv,
 11097  		EncodingNameRaw,
 11098  		EncodingNameSmpte291,
 11099  		EncodingNamePcm,
 11100  	}
 11101  }
 11102  
 11103  const (
 11104  	// EntitlementStatusEnabled is a EntitlementStatus enum value
 11105  	EntitlementStatusEnabled = "ENABLED"
 11106  
 11107  	// EntitlementStatusDisabled is a EntitlementStatus enum value
 11108  	EntitlementStatusDisabled = "DISABLED"
 11109  )
 11110  
 11111  // EntitlementStatus_Values returns all elements of the EntitlementStatus enum
 11112  func EntitlementStatus_Values() []string {
 11113  	return []string{
 11114  		EntitlementStatusEnabled,
 11115  		EntitlementStatusDisabled,
 11116  	}
 11117  }
 11118  
 11119  const (
 11120  	// FailoverModeMerge is a FailoverMode enum value
 11121  	FailoverModeMerge = "MERGE"
 11122  
 11123  	// FailoverModeFailover is a FailoverMode enum value
 11124  	FailoverModeFailover = "FAILOVER"
 11125  )
 11126  
 11127  // FailoverMode_Values returns all elements of the FailoverMode enum
 11128  func FailoverMode_Values() []string {
 11129  	return []string{
 11130  		FailoverModeMerge,
 11131  		FailoverModeFailover,
 11132  	}
 11133  }
 11134  
 11135  const (
 11136  	// KeyTypeSpeke is a KeyType enum value
 11137  	KeyTypeSpeke = "speke"
 11138  
 11139  	// KeyTypeStaticKey is a KeyType enum value
 11140  	KeyTypeStaticKey = "static-key"
 11141  
 11142  	// KeyTypeSrtPassword is a KeyType enum value
 11143  	KeyTypeSrtPassword = "srt-password"
 11144  )
 11145  
 11146  // KeyType_Values returns all elements of the KeyType enum
 11147  func KeyType_Values() []string {
 11148  	return []string{
 11149  		KeyTypeSpeke,
 11150  		KeyTypeStaticKey,
 11151  		KeyTypeSrtPassword,
 11152  	}
 11153  }
 11154  
 11155  const (
 11156  	// MediaStreamTypeVideo is a MediaStreamType enum value
 11157  	MediaStreamTypeVideo = "video"
 11158  
 11159  	// MediaStreamTypeAudio is a MediaStreamType enum value
 11160  	MediaStreamTypeAudio = "audio"
 11161  
 11162  	// MediaStreamTypeAncillaryData is a MediaStreamType enum value
 11163  	MediaStreamTypeAncillaryData = "ancillary-data"
 11164  )
 11165  
 11166  // MediaStreamType_Values returns all elements of the MediaStreamType enum
 11167  func MediaStreamType_Values() []string {
 11168  	return []string{
 11169  		MediaStreamTypeVideo,
 11170  		MediaStreamTypeAudio,
 11171  		MediaStreamTypeAncillaryData,
 11172  	}
 11173  }
 11174  
 11175  const (
 11176  	// NetworkInterfaceTypeEna is a NetworkInterfaceType enum value
 11177  	NetworkInterfaceTypeEna = "ena"
 11178  
 11179  	// NetworkInterfaceTypeEfa is a NetworkInterfaceType enum value
 11180  	NetworkInterfaceTypeEfa = "efa"
 11181  )
 11182  
 11183  // NetworkInterfaceType_Values returns all elements of the NetworkInterfaceType enum
 11184  func NetworkInterfaceType_Values() []string {
 11185  	return []string{
 11186  		NetworkInterfaceTypeEna,
 11187  		NetworkInterfaceTypeEfa,
 11188  	}
 11189  }
 11190  
 11191  const (
 11192  	// PriceUnitsHourly is a PriceUnits enum value
 11193  	PriceUnitsHourly = "HOURLY"
 11194  )
 11195  
 11196  // PriceUnits_Values returns all elements of the PriceUnits enum
 11197  func PriceUnits_Values() []string {
 11198  	return []string{
 11199  		PriceUnitsHourly,
 11200  	}
 11201  }
 11202  
 11203  const (
 11204  	// ProtocolZixiPush is a Protocol enum value
 11205  	ProtocolZixiPush = "zixi-push"
 11206  
 11207  	// ProtocolRtpFec is a Protocol enum value
 11208  	ProtocolRtpFec = "rtp-fec"
 11209  
 11210  	// ProtocolRtp is a Protocol enum value
 11211  	ProtocolRtp = "rtp"
 11212  
 11213  	// ProtocolZixiPull is a Protocol enum value
 11214  	ProtocolZixiPull = "zixi-pull"
 11215  
 11216  	// ProtocolRist is a Protocol enum value
 11217  	ProtocolRist = "rist"
 11218  
 11219  	// ProtocolSt2110Jpegxs is a Protocol enum value
 11220  	ProtocolSt2110Jpegxs = "st2110-jpegxs"
 11221  
 11222  	// ProtocolCdi is a Protocol enum value
 11223  	ProtocolCdi = "cdi"
 11224  
 11225  	// ProtocolSrtListener is a Protocol enum value
 11226  	ProtocolSrtListener = "srt-listener"
 11227  )
 11228  
 11229  // Protocol_Values returns all elements of the Protocol enum
 11230  func Protocol_Values() []string {
 11231  	return []string{
 11232  		ProtocolZixiPush,
 11233  		ProtocolRtpFec,
 11234  		ProtocolRtp,
 11235  		ProtocolZixiPull,
 11236  		ProtocolRist,
 11237  		ProtocolSt2110Jpegxs,
 11238  		ProtocolCdi,
 11239  		ProtocolSrtListener,
 11240  	}
 11241  }
 11242  
 11243  const (
 11244  	// RangeNarrow is a Range enum value
 11245  	RangeNarrow = "NARROW"
 11246  
 11247  	// RangeFull is a Range enum value
 11248  	RangeFull = "FULL"
 11249  
 11250  	// RangeFullprotect is a Range enum value
 11251  	RangeFullprotect = "FULLPROTECT"
 11252  )
 11253  
 11254  // Range_Values returns all elements of the Range enum
 11255  func Range_Values() []string {
 11256  	return []string{
 11257  		RangeNarrow,
 11258  		RangeFull,
 11259  		RangeFullprotect,
 11260  	}
 11261  }
 11262  
 11263  const (
 11264  	// ReservationStateActive is a ReservationState enum value
 11265  	ReservationStateActive = "ACTIVE"
 11266  
 11267  	// ReservationStateExpired is a ReservationState enum value
 11268  	ReservationStateExpired = "EXPIRED"
 11269  
 11270  	// ReservationStateProcessing is a ReservationState enum value
 11271  	ReservationStateProcessing = "PROCESSING"
 11272  
 11273  	// ReservationStateCanceled is a ReservationState enum value
 11274  	ReservationStateCanceled = "CANCELED"
 11275  )
 11276  
 11277  // ReservationState_Values returns all elements of the ReservationState enum
 11278  func ReservationState_Values() []string {
 11279  	return []string{
 11280  		ReservationStateActive,
 11281  		ReservationStateExpired,
 11282  		ReservationStateProcessing,
 11283  		ReservationStateCanceled,
 11284  	}
 11285  }
 11286  
 11287  const (
 11288  	// ResourceTypeMbpsOutboundBandwidth is a ResourceType enum value
 11289  	ResourceTypeMbpsOutboundBandwidth = "Mbps_Outbound_Bandwidth"
 11290  )
 11291  
 11292  // ResourceType_Values returns all elements of the ResourceType enum
 11293  func ResourceType_Values() []string {
 11294  	return []string{
 11295  		ResourceTypeMbpsOutboundBandwidth,
 11296  	}
 11297  }
 11298  
 11299  const (
 11300  	// ScanModeProgressive is a ScanMode enum value
 11301  	ScanModeProgressive = "progressive"
 11302  
 11303  	// ScanModeInterlace is a ScanMode enum value
 11304  	ScanModeInterlace = "interlace"
 11305  
 11306  	// ScanModeProgressiveSegmentedFrame is a ScanMode enum value
 11307  	ScanModeProgressiveSegmentedFrame = "progressive-segmented-frame"
 11308  )
 11309  
 11310  // ScanMode_Values returns all elements of the ScanMode enum
 11311  func ScanMode_Values() []string {
 11312  	return []string{
 11313  		ScanModeProgressive,
 11314  		ScanModeInterlace,
 11315  		ScanModeProgressiveSegmentedFrame,
 11316  	}
 11317  }
 11318  
 11319  const (
 11320  	// SourceTypeOwned is a SourceType enum value
 11321  	SourceTypeOwned = "OWNED"
 11322  
 11323  	// SourceTypeEntitled is a SourceType enum value
 11324  	SourceTypeEntitled = "ENTITLED"
 11325  )
 11326  
 11327  // SourceType_Values returns all elements of the SourceType enum
 11328  func SourceType_Values() []string {
 11329  	return []string{
 11330  		SourceTypeOwned,
 11331  		SourceTypeEntitled,
 11332  	}
 11333  }
 11334  
 11335  const (
 11336  	// StateEnabled is a State enum value
 11337  	StateEnabled = "ENABLED"
 11338  
 11339  	// StateDisabled is a State enum value
 11340  	StateDisabled = "DISABLED"
 11341  )
 11342  
 11343  // State_Values returns all elements of the State enum
 11344  func State_Values() []string {
 11345  	return []string{
 11346  		StateEnabled,
 11347  		StateDisabled,
 11348  	}
 11349  }
 11350  
 11351  const (
 11352  	// StatusStandby is a Status enum value
 11353  	StatusStandby = "STANDBY"
 11354  
 11355  	// StatusActive is a Status enum value
 11356  	StatusActive = "ACTIVE"
 11357  
 11358  	// StatusUpdating is a Status enum value
 11359  	StatusUpdating = "UPDATING"
 11360  
 11361  	// StatusDeleting is a Status enum value
 11362  	StatusDeleting = "DELETING"
 11363  
 11364  	// StatusStarting is a Status enum value
 11365  	StatusStarting = "STARTING"
 11366  
 11367  	// StatusStopping is a Status enum value
 11368  	StatusStopping = "STOPPING"
 11369  
 11370  	// StatusError is a Status enum value
 11371  	StatusError = "ERROR"
 11372  )
 11373  
 11374  // Status_Values returns all elements of the Status enum
 11375  func Status_Values() []string {
 11376  	return []string{
 11377  		StatusStandby,
 11378  		StatusActive,
 11379  		StatusUpdating,
 11380  		StatusDeleting,
 11381  		StatusStarting,
 11382  		StatusStopping,
 11383  		StatusError,
 11384  	}
 11385  }
 11386  
 11387  const (
 11388  	// TcsSdr is a Tcs enum value
 11389  	TcsSdr = "SDR"
 11390  
 11391  	// TcsPq is a Tcs enum value
 11392  	TcsPq = "PQ"
 11393  
 11394  	// TcsHlg is a Tcs enum value
 11395  	TcsHlg = "HLG"
 11396  
 11397  	// TcsLinear is a Tcs enum value
 11398  	TcsLinear = "LINEAR"
 11399  
 11400  	// TcsBt2100linpq is a Tcs enum value
 11401  	TcsBt2100linpq = "BT2100LINPQ"
 11402  
 11403  	// TcsBt2100linhlg is a Tcs enum value
 11404  	TcsBt2100linhlg = "BT2100LINHLG"
 11405  
 11406  	// TcsSt20651 is a Tcs enum value
 11407  	TcsSt20651 = "ST2065-1"
 11408  
 11409  	// TcsSt4281 is a Tcs enum value
 11410  	TcsSt4281 = "ST428-1"
 11411  
 11412  	// TcsDensity is a Tcs enum value
 11413  	TcsDensity = "DENSITY"
 11414  )
 11415  
 11416  // Tcs_Values returns all elements of the Tcs enum
 11417  func Tcs_Values() []string {
 11418  	return []string{
 11419  		TcsSdr,
 11420  		TcsPq,
 11421  		TcsHlg,
 11422  		TcsLinear,
 11423  		TcsBt2100linpq,
 11424  		TcsBt2100linhlg,
 11425  		TcsSt20651,
 11426  		TcsSt4281,
 11427  		TcsDensity,
 11428  	}
 11429  }