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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package ivs
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opBatchGetChannel = "BatchGetChannel"
    17  
    18  // BatchGetChannelRequest generates a "aws/request.Request" representing the
    19  // client's request for the BatchGetChannel operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See BatchGetChannel for more information on using the BatchGetChannel
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the BatchGetChannelRequest method.
    34  //    req, resp := client.BatchGetChannelRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/BatchGetChannel
    42  func (c *IVS) BatchGetChannelRequest(input *BatchGetChannelInput) (req *request.Request, output *BatchGetChannelOutput) {
    43  	op := &request.Operation{
    44  		Name:       opBatchGetChannel,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/BatchGetChannel",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &BatchGetChannelInput{}
    51  	}
    52  
    53  	output = &BatchGetChannelOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // BatchGetChannel API operation for Amazon Interactive Video Service.
    59  //
    60  // Performs GetChannel on multiple ARNs simultaneously.
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for Amazon Interactive Video Service's
    67  // API operation BatchGetChannel for usage and error information.
    68  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/BatchGetChannel
    69  func (c *IVS) BatchGetChannel(input *BatchGetChannelInput) (*BatchGetChannelOutput, error) {
    70  	req, out := c.BatchGetChannelRequest(input)
    71  	return out, req.Send()
    72  }
    73  
    74  // BatchGetChannelWithContext is the same as BatchGetChannel with the addition of
    75  // the ability to pass a context and additional request options.
    76  //
    77  // See BatchGetChannel for details on how to use this API operation.
    78  //
    79  // The context must be non-nil and will be used for request cancellation. If
    80  // the context is nil a panic will occur. In the future the SDK may create
    81  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    82  // for more information on using Contexts.
    83  func (c *IVS) BatchGetChannelWithContext(ctx aws.Context, input *BatchGetChannelInput, opts ...request.Option) (*BatchGetChannelOutput, error) {
    84  	req, out := c.BatchGetChannelRequest(input)
    85  	req.SetContext(ctx)
    86  	req.ApplyOptions(opts...)
    87  	return out, req.Send()
    88  }
    89  
    90  const opBatchGetStreamKey = "BatchGetStreamKey"
    91  
    92  // BatchGetStreamKeyRequest generates a "aws/request.Request" representing the
    93  // client's request for the BatchGetStreamKey operation. The "output" return
    94  // value will be populated with the request's response once the request completes
    95  // successfully.
    96  //
    97  // Use "Send" method on the returned Request to send the API call to the service.
    98  // the "output" return value is not valid until after Send returns without error.
    99  //
   100  // See BatchGetStreamKey for more information on using the BatchGetStreamKey
   101  // API call, and error handling.
   102  //
   103  // This method is useful when you want to inject custom logic or configuration
   104  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   105  //
   106  //
   107  //    // Example sending a request using the BatchGetStreamKeyRequest method.
   108  //    req, resp := client.BatchGetStreamKeyRequest(params)
   109  //
   110  //    err := req.Send()
   111  //    if err == nil { // resp is now filled
   112  //        fmt.Println(resp)
   113  //    }
   114  //
   115  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/BatchGetStreamKey
   116  func (c *IVS) BatchGetStreamKeyRequest(input *BatchGetStreamKeyInput) (req *request.Request, output *BatchGetStreamKeyOutput) {
   117  	op := &request.Operation{
   118  		Name:       opBatchGetStreamKey,
   119  		HTTPMethod: "POST",
   120  		HTTPPath:   "/BatchGetStreamKey",
   121  	}
   122  
   123  	if input == nil {
   124  		input = &BatchGetStreamKeyInput{}
   125  	}
   126  
   127  	output = &BatchGetStreamKeyOutput{}
   128  	req = c.newRequest(op, input, output)
   129  	return
   130  }
   131  
   132  // BatchGetStreamKey API operation for Amazon Interactive Video Service.
   133  //
   134  // Performs GetStreamKey on multiple ARNs simultaneously.
   135  //
   136  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   137  // with awserr.Error's Code and Message methods to get detailed information about
   138  // the error.
   139  //
   140  // See the AWS API reference guide for Amazon Interactive Video Service's
   141  // API operation BatchGetStreamKey for usage and error information.
   142  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/BatchGetStreamKey
   143  func (c *IVS) BatchGetStreamKey(input *BatchGetStreamKeyInput) (*BatchGetStreamKeyOutput, error) {
   144  	req, out := c.BatchGetStreamKeyRequest(input)
   145  	return out, req.Send()
   146  }
   147  
   148  // BatchGetStreamKeyWithContext is the same as BatchGetStreamKey with the addition of
   149  // the ability to pass a context and additional request options.
   150  //
   151  // See BatchGetStreamKey for details on how to use this API operation.
   152  //
   153  // The context must be non-nil and will be used for request cancellation. If
   154  // the context is nil a panic will occur. In the future the SDK may create
   155  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   156  // for more information on using Contexts.
   157  func (c *IVS) BatchGetStreamKeyWithContext(ctx aws.Context, input *BatchGetStreamKeyInput, opts ...request.Option) (*BatchGetStreamKeyOutput, error) {
   158  	req, out := c.BatchGetStreamKeyRequest(input)
   159  	req.SetContext(ctx)
   160  	req.ApplyOptions(opts...)
   161  	return out, req.Send()
   162  }
   163  
   164  const opCreateChannel = "CreateChannel"
   165  
   166  // CreateChannelRequest generates a "aws/request.Request" representing the
   167  // client's request for the CreateChannel operation. The "output" return
   168  // value will be populated with the request's response once the request completes
   169  // successfully.
   170  //
   171  // Use "Send" method on the returned Request to send the API call to the service.
   172  // the "output" return value is not valid until after Send returns without error.
   173  //
   174  // See CreateChannel for more information on using the CreateChannel
   175  // API call, and error handling.
   176  //
   177  // This method is useful when you want to inject custom logic or configuration
   178  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   179  //
   180  //
   181  //    // Example sending a request using the CreateChannelRequest method.
   182  //    req, resp := client.CreateChannelRequest(params)
   183  //
   184  //    err := req.Send()
   185  //    if err == nil { // resp is now filled
   186  //        fmt.Println(resp)
   187  //    }
   188  //
   189  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateChannel
   190  func (c *IVS) CreateChannelRequest(input *CreateChannelInput) (req *request.Request, output *CreateChannelOutput) {
   191  	op := &request.Operation{
   192  		Name:       opCreateChannel,
   193  		HTTPMethod: "POST",
   194  		HTTPPath:   "/CreateChannel",
   195  	}
   196  
   197  	if input == nil {
   198  		input = &CreateChannelInput{}
   199  	}
   200  
   201  	output = &CreateChannelOutput{}
   202  	req = c.newRequest(op, input, output)
   203  	return
   204  }
   205  
   206  // CreateChannel API operation for Amazon Interactive Video Service.
   207  //
   208  // Creates a new channel and an associated stream key to start streaming.
   209  //
   210  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   211  // with awserr.Error's Code and Message methods to get detailed information about
   212  // the error.
   213  //
   214  // See the AWS API reference guide for Amazon Interactive Video Service's
   215  // API operation CreateChannel for usage and error information.
   216  //
   217  // Returned Error Types:
   218  //   * ValidationException
   219  //
   220  //   * AccessDeniedException
   221  //
   222  //   * ResourceNotFoundException
   223  //
   224  //   * ServiceQuotaExceededException
   225  //
   226  //   * PendingVerification
   227  //
   228  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateChannel
   229  func (c *IVS) CreateChannel(input *CreateChannelInput) (*CreateChannelOutput, error) {
   230  	req, out := c.CreateChannelRequest(input)
   231  	return out, req.Send()
   232  }
   233  
   234  // CreateChannelWithContext is the same as CreateChannel with the addition of
   235  // the ability to pass a context and additional request options.
   236  //
   237  // See CreateChannel for details on how to use this API operation.
   238  //
   239  // The context must be non-nil and will be used for request cancellation. If
   240  // the context is nil a panic will occur. In the future the SDK may create
   241  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   242  // for more information on using Contexts.
   243  func (c *IVS) CreateChannelWithContext(ctx aws.Context, input *CreateChannelInput, opts ...request.Option) (*CreateChannelOutput, error) {
   244  	req, out := c.CreateChannelRequest(input)
   245  	req.SetContext(ctx)
   246  	req.ApplyOptions(opts...)
   247  	return out, req.Send()
   248  }
   249  
   250  const opCreateRecordingConfiguration = "CreateRecordingConfiguration"
   251  
   252  // CreateRecordingConfigurationRequest generates a "aws/request.Request" representing the
   253  // client's request for the CreateRecordingConfiguration operation. The "output" return
   254  // value will be populated with the request's response once the request completes
   255  // successfully.
   256  //
   257  // Use "Send" method on the returned Request to send the API call to the service.
   258  // the "output" return value is not valid until after Send returns without error.
   259  //
   260  // See CreateRecordingConfiguration for more information on using the CreateRecordingConfiguration
   261  // API call, and error handling.
   262  //
   263  // This method is useful when you want to inject custom logic or configuration
   264  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   265  //
   266  //
   267  //    // Example sending a request using the CreateRecordingConfigurationRequest method.
   268  //    req, resp := client.CreateRecordingConfigurationRequest(params)
   269  //
   270  //    err := req.Send()
   271  //    if err == nil { // resp is now filled
   272  //        fmt.Println(resp)
   273  //    }
   274  //
   275  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateRecordingConfiguration
   276  func (c *IVS) CreateRecordingConfigurationRequest(input *CreateRecordingConfigurationInput) (req *request.Request, output *CreateRecordingConfigurationOutput) {
   277  	op := &request.Operation{
   278  		Name:       opCreateRecordingConfiguration,
   279  		HTTPMethod: "POST",
   280  		HTTPPath:   "/CreateRecordingConfiguration",
   281  	}
   282  
   283  	if input == nil {
   284  		input = &CreateRecordingConfigurationInput{}
   285  	}
   286  
   287  	output = &CreateRecordingConfigurationOutput{}
   288  	req = c.newRequest(op, input, output)
   289  	return
   290  }
   291  
   292  // CreateRecordingConfiguration API operation for Amazon Interactive Video Service.
   293  //
   294  // Creates a new recording configuration, used to enable recording to Amazon
   295  // S3.
   296  //
   297  // Known issue: In the us-east-1 region, if you use the AWS CLI to create a
   298  // recording configuration, it returns success even if the S3 bucket is in a
   299  // different region. In this case, the state of the recording configuration
   300  // is CREATE_FAILED (instead of ACTIVE). (In other regions, the CLI correctly
   301  // returns failure if the bucket is in a different region.)
   302  //
   303  // Workaround: Ensure that your S3 bucket is in the same region as the recording
   304  // configuration. If you create a recording configuration in a different region
   305  // as your S3 bucket, delete that recording configuration and create a new one
   306  // with an S3 bucket from the correct region.
   307  //
   308  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   309  // with awserr.Error's Code and Message methods to get detailed information about
   310  // the error.
   311  //
   312  // See the AWS API reference guide for Amazon Interactive Video Service's
   313  // API operation CreateRecordingConfiguration for usage and error information.
   314  //
   315  // Returned Error Types:
   316  //   * AccessDeniedException
   317  //
   318  //   * ConflictException
   319  //
   320  //   * InternalServerException
   321  //
   322  //   * PendingVerification
   323  //
   324  //   * ServiceQuotaExceededException
   325  //
   326  //   * ValidationException
   327  //
   328  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateRecordingConfiguration
   329  func (c *IVS) CreateRecordingConfiguration(input *CreateRecordingConfigurationInput) (*CreateRecordingConfigurationOutput, error) {
   330  	req, out := c.CreateRecordingConfigurationRequest(input)
   331  	return out, req.Send()
   332  }
   333  
   334  // CreateRecordingConfigurationWithContext is the same as CreateRecordingConfiguration with the addition of
   335  // the ability to pass a context and additional request options.
   336  //
   337  // See CreateRecordingConfiguration for details on how to use this API operation.
   338  //
   339  // The context must be non-nil and will be used for request cancellation. If
   340  // the context is nil a panic will occur. In the future the SDK may create
   341  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   342  // for more information on using Contexts.
   343  func (c *IVS) CreateRecordingConfigurationWithContext(ctx aws.Context, input *CreateRecordingConfigurationInput, opts ...request.Option) (*CreateRecordingConfigurationOutput, error) {
   344  	req, out := c.CreateRecordingConfigurationRequest(input)
   345  	req.SetContext(ctx)
   346  	req.ApplyOptions(opts...)
   347  	return out, req.Send()
   348  }
   349  
   350  const opCreateStreamKey = "CreateStreamKey"
   351  
   352  // CreateStreamKeyRequest generates a "aws/request.Request" representing the
   353  // client's request for the CreateStreamKey operation. The "output" return
   354  // value will be populated with the request's response once the request completes
   355  // successfully.
   356  //
   357  // Use "Send" method on the returned Request to send the API call to the service.
   358  // the "output" return value is not valid until after Send returns without error.
   359  //
   360  // See CreateStreamKey for more information on using the CreateStreamKey
   361  // API call, and error handling.
   362  //
   363  // This method is useful when you want to inject custom logic or configuration
   364  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   365  //
   366  //
   367  //    // Example sending a request using the CreateStreamKeyRequest method.
   368  //    req, resp := client.CreateStreamKeyRequest(params)
   369  //
   370  //    err := req.Send()
   371  //    if err == nil { // resp is now filled
   372  //        fmt.Println(resp)
   373  //    }
   374  //
   375  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateStreamKey
   376  func (c *IVS) CreateStreamKeyRequest(input *CreateStreamKeyInput) (req *request.Request, output *CreateStreamKeyOutput) {
   377  	op := &request.Operation{
   378  		Name:       opCreateStreamKey,
   379  		HTTPMethod: "POST",
   380  		HTTPPath:   "/CreateStreamKey",
   381  	}
   382  
   383  	if input == nil {
   384  		input = &CreateStreamKeyInput{}
   385  	}
   386  
   387  	output = &CreateStreamKeyOutput{}
   388  	req = c.newRequest(op, input, output)
   389  	return
   390  }
   391  
   392  // CreateStreamKey API operation for Amazon Interactive Video Service.
   393  //
   394  // Creates a stream key, used to initiate a stream, for the specified channel
   395  // ARN.
   396  //
   397  // Note that CreateChannel creates a stream key. If you subsequently use CreateStreamKey
   398  // on the same channel, it will fail because a stream key already exists and
   399  // there is a limit of 1 stream key per channel. To reset the stream key on
   400  // a channel, use DeleteStreamKey and then CreateStreamKey.
   401  //
   402  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   403  // with awserr.Error's Code and Message methods to get detailed information about
   404  // the error.
   405  //
   406  // See the AWS API reference guide for Amazon Interactive Video Service's
   407  // API operation CreateStreamKey for usage and error information.
   408  //
   409  // Returned Error Types:
   410  //   * ValidationException
   411  //
   412  //   * AccessDeniedException
   413  //
   414  //   * ResourceNotFoundException
   415  //
   416  //   * ServiceQuotaExceededException
   417  //
   418  //   * PendingVerification
   419  //
   420  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateStreamKey
   421  func (c *IVS) CreateStreamKey(input *CreateStreamKeyInput) (*CreateStreamKeyOutput, error) {
   422  	req, out := c.CreateStreamKeyRequest(input)
   423  	return out, req.Send()
   424  }
   425  
   426  // CreateStreamKeyWithContext is the same as CreateStreamKey with the addition of
   427  // the ability to pass a context and additional request options.
   428  //
   429  // See CreateStreamKey for details on how to use this API operation.
   430  //
   431  // The context must be non-nil and will be used for request cancellation. If
   432  // the context is nil a panic will occur. In the future the SDK may create
   433  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   434  // for more information on using Contexts.
   435  func (c *IVS) CreateStreamKeyWithContext(ctx aws.Context, input *CreateStreamKeyInput, opts ...request.Option) (*CreateStreamKeyOutput, error) {
   436  	req, out := c.CreateStreamKeyRequest(input)
   437  	req.SetContext(ctx)
   438  	req.ApplyOptions(opts...)
   439  	return out, req.Send()
   440  }
   441  
   442  const opDeleteChannel = "DeleteChannel"
   443  
   444  // DeleteChannelRequest generates a "aws/request.Request" representing the
   445  // client's request for the DeleteChannel operation. The "output" return
   446  // value will be populated with the request's response once the request completes
   447  // successfully.
   448  //
   449  // Use "Send" method on the returned Request to send the API call to the service.
   450  // the "output" return value is not valid until after Send returns without error.
   451  //
   452  // See DeleteChannel for more information on using the DeleteChannel
   453  // API call, and error handling.
   454  //
   455  // This method is useful when you want to inject custom logic or configuration
   456  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   457  //
   458  //
   459  //    // Example sending a request using the DeleteChannelRequest method.
   460  //    req, resp := client.DeleteChannelRequest(params)
   461  //
   462  //    err := req.Send()
   463  //    if err == nil { // resp is now filled
   464  //        fmt.Println(resp)
   465  //    }
   466  //
   467  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeleteChannel
   468  func (c *IVS) DeleteChannelRequest(input *DeleteChannelInput) (req *request.Request, output *DeleteChannelOutput) {
   469  	op := &request.Operation{
   470  		Name:       opDeleteChannel,
   471  		HTTPMethod: "POST",
   472  		HTTPPath:   "/DeleteChannel",
   473  	}
   474  
   475  	if input == nil {
   476  		input = &DeleteChannelInput{}
   477  	}
   478  
   479  	output = &DeleteChannelOutput{}
   480  	req = c.newRequest(op, input, output)
   481  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   482  	return
   483  }
   484  
   485  // DeleteChannel API operation for Amazon Interactive Video Service.
   486  //
   487  // Deletes the specified channel and its associated stream keys.
   488  //
   489  // If you try to delete a live channel, you will get an error (409 ConflictException).
   490  // To delete a channel that is live, call StopStream, wait for the Amazon EventBridge
   491  // "Stream End" event (to verify that the stream's state was changed from Live
   492  // to Offline), then call DeleteChannel. (See Using EventBridge with Amazon
   493  // IVS (https://docs.aws.amazon.com/ivs/latest/userguide/eventbridge.html).)
   494  //
   495  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   496  // with awserr.Error's Code and Message methods to get detailed information about
   497  // the error.
   498  //
   499  // See the AWS API reference guide for Amazon Interactive Video Service's
   500  // API operation DeleteChannel for usage and error information.
   501  //
   502  // Returned Error Types:
   503  //   * ValidationException
   504  //
   505  //   * AccessDeniedException
   506  //
   507  //   * ResourceNotFoundException
   508  //
   509  //   * ConflictException
   510  //
   511  //   * PendingVerification
   512  //
   513  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeleteChannel
   514  func (c *IVS) DeleteChannel(input *DeleteChannelInput) (*DeleteChannelOutput, error) {
   515  	req, out := c.DeleteChannelRequest(input)
   516  	return out, req.Send()
   517  }
   518  
   519  // DeleteChannelWithContext is the same as DeleteChannel with the addition of
   520  // the ability to pass a context and additional request options.
   521  //
   522  // See DeleteChannel for details on how to use this API operation.
   523  //
   524  // The context must be non-nil and will be used for request cancellation. If
   525  // the context is nil a panic will occur. In the future the SDK may create
   526  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   527  // for more information on using Contexts.
   528  func (c *IVS) DeleteChannelWithContext(ctx aws.Context, input *DeleteChannelInput, opts ...request.Option) (*DeleteChannelOutput, error) {
   529  	req, out := c.DeleteChannelRequest(input)
   530  	req.SetContext(ctx)
   531  	req.ApplyOptions(opts...)
   532  	return out, req.Send()
   533  }
   534  
   535  const opDeletePlaybackKeyPair = "DeletePlaybackKeyPair"
   536  
   537  // DeletePlaybackKeyPairRequest generates a "aws/request.Request" representing the
   538  // client's request for the DeletePlaybackKeyPair operation. The "output" return
   539  // value will be populated with the request's response once the request completes
   540  // successfully.
   541  //
   542  // Use "Send" method on the returned Request to send the API call to the service.
   543  // the "output" return value is not valid until after Send returns without error.
   544  //
   545  // See DeletePlaybackKeyPair for more information on using the DeletePlaybackKeyPair
   546  // API call, and error handling.
   547  //
   548  // This method is useful when you want to inject custom logic or configuration
   549  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   550  //
   551  //
   552  //    // Example sending a request using the DeletePlaybackKeyPairRequest method.
   553  //    req, resp := client.DeletePlaybackKeyPairRequest(params)
   554  //
   555  //    err := req.Send()
   556  //    if err == nil { // resp is now filled
   557  //        fmt.Println(resp)
   558  //    }
   559  //
   560  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeletePlaybackKeyPair
   561  func (c *IVS) DeletePlaybackKeyPairRequest(input *DeletePlaybackKeyPairInput) (req *request.Request, output *DeletePlaybackKeyPairOutput) {
   562  	op := &request.Operation{
   563  		Name:       opDeletePlaybackKeyPair,
   564  		HTTPMethod: "POST",
   565  		HTTPPath:   "/DeletePlaybackKeyPair",
   566  	}
   567  
   568  	if input == nil {
   569  		input = &DeletePlaybackKeyPairInput{}
   570  	}
   571  
   572  	output = &DeletePlaybackKeyPairOutput{}
   573  	req = c.newRequest(op, input, output)
   574  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   575  	return
   576  }
   577  
   578  // DeletePlaybackKeyPair API operation for Amazon Interactive Video Service.
   579  //
   580  // Deletes a specified authorization key pair. This invalidates future viewer
   581  // tokens generated using the key pair’s privateKey. For more information,
   582  // see Setting Up Private Channels (https://docs.aws.amazon.com/ivs/latest/userguide/private-channels.html)
   583  // in the Amazon IVS User Guide.
   584  //
   585  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   586  // with awserr.Error's Code and Message methods to get detailed information about
   587  // the error.
   588  //
   589  // See the AWS API reference guide for Amazon Interactive Video Service's
   590  // API operation DeletePlaybackKeyPair for usage and error information.
   591  //
   592  // Returned Error Types:
   593  //   * ValidationException
   594  //
   595  //   * AccessDeniedException
   596  //
   597  //   * ResourceNotFoundException
   598  //
   599  //   * PendingVerification
   600  //
   601  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeletePlaybackKeyPair
   602  func (c *IVS) DeletePlaybackKeyPair(input *DeletePlaybackKeyPairInput) (*DeletePlaybackKeyPairOutput, error) {
   603  	req, out := c.DeletePlaybackKeyPairRequest(input)
   604  	return out, req.Send()
   605  }
   606  
   607  // DeletePlaybackKeyPairWithContext is the same as DeletePlaybackKeyPair with the addition of
   608  // the ability to pass a context and additional request options.
   609  //
   610  // See DeletePlaybackKeyPair for details on how to use this API operation.
   611  //
   612  // The context must be non-nil and will be used for request cancellation. If
   613  // the context is nil a panic will occur. In the future the SDK may create
   614  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   615  // for more information on using Contexts.
   616  func (c *IVS) DeletePlaybackKeyPairWithContext(ctx aws.Context, input *DeletePlaybackKeyPairInput, opts ...request.Option) (*DeletePlaybackKeyPairOutput, error) {
   617  	req, out := c.DeletePlaybackKeyPairRequest(input)
   618  	req.SetContext(ctx)
   619  	req.ApplyOptions(opts...)
   620  	return out, req.Send()
   621  }
   622  
   623  const opDeleteRecordingConfiguration = "DeleteRecordingConfiguration"
   624  
   625  // DeleteRecordingConfigurationRequest generates a "aws/request.Request" representing the
   626  // client's request for the DeleteRecordingConfiguration operation. The "output" return
   627  // value will be populated with the request's response once the request completes
   628  // successfully.
   629  //
   630  // Use "Send" method on the returned Request to send the API call to the service.
   631  // the "output" return value is not valid until after Send returns without error.
   632  //
   633  // See DeleteRecordingConfiguration for more information on using the DeleteRecordingConfiguration
   634  // API call, and error handling.
   635  //
   636  // This method is useful when you want to inject custom logic or configuration
   637  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   638  //
   639  //
   640  //    // Example sending a request using the DeleteRecordingConfigurationRequest method.
   641  //    req, resp := client.DeleteRecordingConfigurationRequest(params)
   642  //
   643  //    err := req.Send()
   644  //    if err == nil { // resp is now filled
   645  //        fmt.Println(resp)
   646  //    }
   647  //
   648  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeleteRecordingConfiguration
   649  func (c *IVS) DeleteRecordingConfigurationRequest(input *DeleteRecordingConfigurationInput) (req *request.Request, output *DeleteRecordingConfigurationOutput) {
   650  	op := &request.Operation{
   651  		Name:       opDeleteRecordingConfiguration,
   652  		HTTPMethod: "POST",
   653  		HTTPPath:   "/DeleteRecordingConfiguration",
   654  	}
   655  
   656  	if input == nil {
   657  		input = &DeleteRecordingConfigurationInput{}
   658  	}
   659  
   660  	output = &DeleteRecordingConfigurationOutput{}
   661  	req = c.newRequest(op, input, output)
   662  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   663  	return
   664  }
   665  
   666  // DeleteRecordingConfiguration API operation for Amazon Interactive Video Service.
   667  //
   668  // Deletes the recording configuration for the specified ARN.
   669  //
   670  // If you try to delete a recording configuration that is associated with a
   671  // channel, you will get an error (409 ConflictException). To avoid this, for
   672  // all channels that reference the recording configuration, first use UpdateChannel
   673  // to set the recordingConfigurationArn field to an empty string, then use DeleteRecordingConfiguration.
   674  //
   675  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   676  // with awserr.Error's Code and Message methods to get detailed information about
   677  // the error.
   678  //
   679  // See the AWS API reference guide for Amazon Interactive Video Service's
   680  // API operation DeleteRecordingConfiguration for usage and error information.
   681  //
   682  // Returned Error Types:
   683  //   * AccessDeniedException
   684  //
   685  //   * ConflictException
   686  //
   687  //   * InternalServerException
   688  //
   689  //   * ResourceNotFoundException
   690  //
   691  //   * ValidationException
   692  //
   693  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeleteRecordingConfiguration
   694  func (c *IVS) DeleteRecordingConfiguration(input *DeleteRecordingConfigurationInput) (*DeleteRecordingConfigurationOutput, error) {
   695  	req, out := c.DeleteRecordingConfigurationRequest(input)
   696  	return out, req.Send()
   697  }
   698  
   699  // DeleteRecordingConfigurationWithContext is the same as DeleteRecordingConfiguration with the addition of
   700  // the ability to pass a context and additional request options.
   701  //
   702  // See DeleteRecordingConfiguration for details on how to use this API operation.
   703  //
   704  // The context must be non-nil and will be used for request cancellation. If
   705  // the context is nil a panic will occur. In the future the SDK may create
   706  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   707  // for more information on using Contexts.
   708  func (c *IVS) DeleteRecordingConfigurationWithContext(ctx aws.Context, input *DeleteRecordingConfigurationInput, opts ...request.Option) (*DeleteRecordingConfigurationOutput, error) {
   709  	req, out := c.DeleteRecordingConfigurationRequest(input)
   710  	req.SetContext(ctx)
   711  	req.ApplyOptions(opts...)
   712  	return out, req.Send()
   713  }
   714  
   715  const opDeleteStreamKey = "DeleteStreamKey"
   716  
   717  // DeleteStreamKeyRequest generates a "aws/request.Request" representing the
   718  // client's request for the DeleteStreamKey operation. The "output" return
   719  // value will be populated with the request's response once the request completes
   720  // successfully.
   721  //
   722  // Use "Send" method on the returned Request to send the API call to the service.
   723  // the "output" return value is not valid until after Send returns without error.
   724  //
   725  // See DeleteStreamKey for more information on using the DeleteStreamKey
   726  // API call, and error handling.
   727  //
   728  // This method is useful when you want to inject custom logic or configuration
   729  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   730  //
   731  //
   732  //    // Example sending a request using the DeleteStreamKeyRequest method.
   733  //    req, resp := client.DeleteStreamKeyRequest(params)
   734  //
   735  //    err := req.Send()
   736  //    if err == nil { // resp is now filled
   737  //        fmt.Println(resp)
   738  //    }
   739  //
   740  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeleteStreamKey
   741  func (c *IVS) DeleteStreamKeyRequest(input *DeleteStreamKeyInput) (req *request.Request, output *DeleteStreamKeyOutput) {
   742  	op := &request.Operation{
   743  		Name:       opDeleteStreamKey,
   744  		HTTPMethod: "POST",
   745  		HTTPPath:   "/DeleteStreamKey",
   746  	}
   747  
   748  	if input == nil {
   749  		input = &DeleteStreamKeyInput{}
   750  	}
   751  
   752  	output = &DeleteStreamKeyOutput{}
   753  	req = c.newRequest(op, input, output)
   754  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   755  	return
   756  }
   757  
   758  // DeleteStreamKey API operation for Amazon Interactive Video Service.
   759  //
   760  // Deletes the stream key for the specified ARN, so it can no longer be used
   761  // to stream.
   762  //
   763  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   764  // with awserr.Error's Code and Message methods to get detailed information about
   765  // the error.
   766  //
   767  // See the AWS API reference guide for Amazon Interactive Video Service's
   768  // API operation DeleteStreamKey for usage and error information.
   769  //
   770  // Returned Error Types:
   771  //   * ValidationException
   772  //
   773  //   * AccessDeniedException
   774  //
   775  //   * ResourceNotFoundException
   776  //
   777  //   * PendingVerification
   778  //
   779  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeleteStreamKey
   780  func (c *IVS) DeleteStreamKey(input *DeleteStreamKeyInput) (*DeleteStreamKeyOutput, error) {
   781  	req, out := c.DeleteStreamKeyRequest(input)
   782  	return out, req.Send()
   783  }
   784  
   785  // DeleteStreamKeyWithContext is the same as DeleteStreamKey with the addition of
   786  // the ability to pass a context and additional request options.
   787  //
   788  // See DeleteStreamKey for details on how to use this API operation.
   789  //
   790  // The context must be non-nil and will be used for request cancellation. If
   791  // the context is nil a panic will occur. In the future the SDK may create
   792  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   793  // for more information on using Contexts.
   794  func (c *IVS) DeleteStreamKeyWithContext(ctx aws.Context, input *DeleteStreamKeyInput, opts ...request.Option) (*DeleteStreamKeyOutput, error) {
   795  	req, out := c.DeleteStreamKeyRequest(input)
   796  	req.SetContext(ctx)
   797  	req.ApplyOptions(opts...)
   798  	return out, req.Send()
   799  }
   800  
   801  const opGetChannel = "GetChannel"
   802  
   803  // GetChannelRequest generates a "aws/request.Request" representing the
   804  // client's request for the GetChannel operation. The "output" return
   805  // value will be populated with the request's response once the request completes
   806  // successfully.
   807  //
   808  // Use "Send" method on the returned Request to send the API call to the service.
   809  // the "output" return value is not valid until after Send returns without error.
   810  //
   811  // See GetChannel for more information on using the GetChannel
   812  // API call, and error handling.
   813  //
   814  // This method is useful when you want to inject custom logic or configuration
   815  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   816  //
   817  //
   818  //    // Example sending a request using the GetChannelRequest method.
   819  //    req, resp := client.GetChannelRequest(params)
   820  //
   821  //    err := req.Send()
   822  //    if err == nil { // resp is now filled
   823  //        fmt.Println(resp)
   824  //    }
   825  //
   826  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetChannel
   827  func (c *IVS) GetChannelRequest(input *GetChannelInput) (req *request.Request, output *GetChannelOutput) {
   828  	op := &request.Operation{
   829  		Name:       opGetChannel,
   830  		HTTPMethod: "POST",
   831  		HTTPPath:   "/GetChannel",
   832  	}
   833  
   834  	if input == nil {
   835  		input = &GetChannelInput{}
   836  	}
   837  
   838  	output = &GetChannelOutput{}
   839  	req = c.newRequest(op, input, output)
   840  	return
   841  }
   842  
   843  // GetChannel API operation for Amazon Interactive Video Service.
   844  //
   845  // Gets the channel configuration for the specified channel ARN. See also BatchGetChannel.
   846  //
   847  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   848  // with awserr.Error's Code and Message methods to get detailed information about
   849  // the error.
   850  //
   851  // See the AWS API reference guide for Amazon Interactive Video Service's
   852  // API operation GetChannel for usage and error information.
   853  //
   854  // Returned Error Types:
   855  //   * ValidationException
   856  //
   857  //   * AccessDeniedException
   858  //
   859  //   * ResourceNotFoundException
   860  //
   861  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetChannel
   862  func (c *IVS) GetChannel(input *GetChannelInput) (*GetChannelOutput, error) {
   863  	req, out := c.GetChannelRequest(input)
   864  	return out, req.Send()
   865  }
   866  
   867  // GetChannelWithContext is the same as GetChannel with the addition of
   868  // the ability to pass a context and additional request options.
   869  //
   870  // See GetChannel for details on how to use this API operation.
   871  //
   872  // The context must be non-nil and will be used for request cancellation. If
   873  // the context is nil a panic will occur. In the future the SDK may create
   874  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   875  // for more information on using Contexts.
   876  func (c *IVS) GetChannelWithContext(ctx aws.Context, input *GetChannelInput, opts ...request.Option) (*GetChannelOutput, error) {
   877  	req, out := c.GetChannelRequest(input)
   878  	req.SetContext(ctx)
   879  	req.ApplyOptions(opts...)
   880  	return out, req.Send()
   881  }
   882  
   883  const opGetPlaybackKeyPair = "GetPlaybackKeyPair"
   884  
   885  // GetPlaybackKeyPairRequest generates a "aws/request.Request" representing the
   886  // client's request for the GetPlaybackKeyPair operation. The "output" return
   887  // value will be populated with the request's response once the request completes
   888  // successfully.
   889  //
   890  // Use "Send" method on the returned Request to send the API call to the service.
   891  // the "output" return value is not valid until after Send returns without error.
   892  //
   893  // See GetPlaybackKeyPair for more information on using the GetPlaybackKeyPair
   894  // API call, and error handling.
   895  //
   896  // This method is useful when you want to inject custom logic or configuration
   897  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   898  //
   899  //
   900  //    // Example sending a request using the GetPlaybackKeyPairRequest method.
   901  //    req, resp := client.GetPlaybackKeyPairRequest(params)
   902  //
   903  //    err := req.Send()
   904  //    if err == nil { // resp is now filled
   905  //        fmt.Println(resp)
   906  //    }
   907  //
   908  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetPlaybackKeyPair
   909  func (c *IVS) GetPlaybackKeyPairRequest(input *GetPlaybackKeyPairInput) (req *request.Request, output *GetPlaybackKeyPairOutput) {
   910  	op := &request.Operation{
   911  		Name:       opGetPlaybackKeyPair,
   912  		HTTPMethod: "POST",
   913  		HTTPPath:   "/GetPlaybackKeyPair",
   914  	}
   915  
   916  	if input == nil {
   917  		input = &GetPlaybackKeyPairInput{}
   918  	}
   919  
   920  	output = &GetPlaybackKeyPairOutput{}
   921  	req = c.newRequest(op, input, output)
   922  	return
   923  }
   924  
   925  // GetPlaybackKeyPair API operation for Amazon Interactive Video Service.
   926  //
   927  // Gets a specified playback authorization key pair and returns the arn and
   928  // fingerprint. The privateKey held by the caller can be used to generate viewer
   929  // authorization tokens, to grant viewers access to private channels. For more
   930  // information, see Setting Up Private Channels (https://docs.aws.amazon.com/ivs/latest/userguide/private-channels.html)
   931  // in the Amazon IVS User Guide.
   932  //
   933  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   934  // with awserr.Error's Code and Message methods to get detailed information about
   935  // the error.
   936  //
   937  // See the AWS API reference guide for Amazon Interactive Video Service's
   938  // API operation GetPlaybackKeyPair for usage and error information.
   939  //
   940  // Returned Error Types:
   941  //   * ValidationException
   942  //
   943  //   * AccessDeniedException
   944  //
   945  //   * ResourceNotFoundException
   946  //
   947  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetPlaybackKeyPair
   948  func (c *IVS) GetPlaybackKeyPair(input *GetPlaybackKeyPairInput) (*GetPlaybackKeyPairOutput, error) {
   949  	req, out := c.GetPlaybackKeyPairRequest(input)
   950  	return out, req.Send()
   951  }
   952  
   953  // GetPlaybackKeyPairWithContext is the same as GetPlaybackKeyPair with the addition of
   954  // the ability to pass a context and additional request options.
   955  //
   956  // See GetPlaybackKeyPair for details on how to use this API operation.
   957  //
   958  // The context must be non-nil and will be used for request cancellation. If
   959  // the context is nil a panic will occur. In the future the SDK may create
   960  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   961  // for more information on using Contexts.
   962  func (c *IVS) GetPlaybackKeyPairWithContext(ctx aws.Context, input *GetPlaybackKeyPairInput, opts ...request.Option) (*GetPlaybackKeyPairOutput, error) {
   963  	req, out := c.GetPlaybackKeyPairRequest(input)
   964  	req.SetContext(ctx)
   965  	req.ApplyOptions(opts...)
   966  	return out, req.Send()
   967  }
   968  
   969  const opGetRecordingConfiguration = "GetRecordingConfiguration"
   970  
   971  // GetRecordingConfigurationRequest generates a "aws/request.Request" representing the
   972  // client's request for the GetRecordingConfiguration operation. The "output" return
   973  // value will be populated with the request's response once the request completes
   974  // successfully.
   975  //
   976  // Use "Send" method on the returned Request to send the API call to the service.
   977  // the "output" return value is not valid until after Send returns without error.
   978  //
   979  // See GetRecordingConfiguration for more information on using the GetRecordingConfiguration
   980  // API call, and error handling.
   981  //
   982  // This method is useful when you want to inject custom logic or configuration
   983  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   984  //
   985  //
   986  //    // Example sending a request using the GetRecordingConfigurationRequest method.
   987  //    req, resp := client.GetRecordingConfigurationRequest(params)
   988  //
   989  //    err := req.Send()
   990  //    if err == nil { // resp is now filled
   991  //        fmt.Println(resp)
   992  //    }
   993  //
   994  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetRecordingConfiguration
   995  func (c *IVS) GetRecordingConfigurationRequest(input *GetRecordingConfigurationInput) (req *request.Request, output *GetRecordingConfigurationOutput) {
   996  	op := &request.Operation{
   997  		Name:       opGetRecordingConfiguration,
   998  		HTTPMethod: "POST",
   999  		HTTPPath:   "/GetRecordingConfiguration",
  1000  	}
  1001  
  1002  	if input == nil {
  1003  		input = &GetRecordingConfigurationInput{}
  1004  	}
  1005  
  1006  	output = &GetRecordingConfigurationOutput{}
  1007  	req = c.newRequest(op, input, output)
  1008  	return
  1009  }
  1010  
  1011  // GetRecordingConfiguration API operation for Amazon Interactive Video Service.
  1012  //
  1013  // Gets the recording configuration for the specified ARN.
  1014  //
  1015  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1016  // with awserr.Error's Code and Message methods to get detailed information about
  1017  // the error.
  1018  //
  1019  // See the AWS API reference guide for Amazon Interactive Video Service's
  1020  // API operation GetRecordingConfiguration for usage and error information.
  1021  //
  1022  // Returned Error Types:
  1023  //   * AccessDeniedException
  1024  //
  1025  //   * InternalServerException
  1026  //
  1027  //   * ResourceNotFoundException
  1028  //
  1029  //   * ValidationException
  1030  //
  1031  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetRecordingConfiguration
  1032  func (c *IVS) GetRecordingConfiguration(input *GetRecordingConfigurationInput) (*GetRecordingConfigurationOutput, error) {
  1033  	req, out := c.GetRecordingConfigurationRequest(input)
  1034  	return out, req.Send()
  1035  }
  1036  
  1037  // GetRecordingConfigurationWithContext is the same as GetRecordingConfiguration with the addition of
  1038  // the ability to pass a context and additional request options.
  1039  //
  1040  // See GetRecordingConfiguration for details on how to use this API operation.
  1041  //
  1042  // The context must be non-nil and will be used for request cancellation. If
  1043  // the context is nil a panic will occur. In the future the SDK may create
  1044  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1045  // for more information on using Contexts.
  1046  func (c *IVS) GetRecordingConfigurationWithContext(ctx aws.Context, input *GetRecordingConfigurationInput, opts ...request.Option) (*GetRecordingConfigurationOutput, error) {
  1047  	req, out := c.GetRecordingConfigurationRequest(input)
  1048  	req.SetContext(ctx)
  1049  	req.ApplyOptions(opts...)
  1050  	return out, req.Send()
  1051  }
  1052  
  1053  const opGetStream = "GetStream"
  1054  
  1055  // GetStreamRequest generates a "aws/request.Request" representing the
  1056  // client's request for the GetStream operation. The "output" return
  1057  // value will be populated with the request's response once the request completes
  1058  // successfully.
  1059  //
  1060  // Use "Send" method on the returned Request to send the API call to the service.
  1061  // the "output" return value is not valid until after Send returns without error.
  1062  //
  1063  // See GetStream for more information on using the GetStream
  1064  // API call, and error handling.
  1065  //
  1066  // This method is useful when you want to inject custom logic or configuration
  1067  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1068  //
  1069  //
  1070  //    // Example sending a request using the GetStreamRequest method.
  1071  //    req, resp := client.GetStreamRequest(params)
  1072  //
  1073  //    err := req.Send()
  1074  //    if err == nil { // resp is now filled
  1075  //        fmt.Println(resp)
  1076  //    }
  1077  //
  1078  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStream
  1079  func (c *IVS) GetStreamRequest(input *GetStreamInput) (req *request.Request, output *GetStreamOutput) {
  1080  	op := &request.Operation{
  1081  		Name:       opGetStream,
  1082  		HTTPMethod: "POST",
  1083  		HTTPPath:   "/GetStream",
  1084  	}
  1085  
  1086  	if input == nil {
  1087  		input = &GetStreamInput{}
  1088  	}
  1089  
  1090  	output = &GetStreamOutput{}
  1091  	req = c.newRequest(op, input, output)
  1092  	return
  1093  }
  1094  
  1095  // GetStream API operation for Amazon Interactive Video Service.
  1096  //
  1097  // Gets information about the active (live) stream on a specified channel.
  1098  //
  1099  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1100  // with awserr.Error's Code and Message methods to get detailed information about
  1101  // the error.
  1102  //
  1103  // See the AWS API reference guide for Amazon Interactive Video Service's
  1104  // API operation GetStream for usage and error information.
  1105  //
  1106  // Returned Error Types:
  1107  //   * ResourceNotFoundException
  1108  //
  1109  //   * ValidationException
  1110  //
  1111  //   * AccessDeniedException
  1112  //
  1113  //   * ChannelNotBroadcasting
  1114  //
  1115  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStream
  1116  func (c *IVS) GetStream(input *GetStreamInput) (*GetStreamOutput, error) {
  1117  	req, out := c.GetStreamRequest(input)
  1118  	return out, req.Send()
  1119  }
  1120  
  1121  // GetStreamWithContext is the same as GetStream with the addition of
  1122  // the ability to pass a context and additional request options.
  1123  //
  1124  // See GetStream for details on how to use this API operation.
  1125  //
  1126  // The context must be non-nil and will be used for request cancellation. If
  1127  // the context is nil a panic will occur. In the future the SDK may create
  1128  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1129  // for more information on using Contexts.
  1130  func (c *IVS) GetStreamWithContext(ctx aws.Context, input *GetStreamInput, opts ...request.Option) (*GetStreamOutput, error) {
  1131  	req, out := c.GetStreamRequest(input)
  1132  	req.SetContext(ctx)
  1133  	req.ApplyOptions(opts...)
  1134  	return out, req.Send()
  1135  }
  1136  
  1137  const opGetStreamKey = "GetStreamKey"
  1138  
  1139  // GetStreamKeyRequest generates a "aws/request.Request" representing the
  1140  // client's request for the GetStreamKey operation. The "output" return
  1141  // value will be populated with the request's response once the request completes
  1142  // successfully.
  1143  //
  1144  // Use "Send" method on the returned Request to send the API call to the service.
  1145  // the "output" return value is not valid until after Send returns without error.
  1146  //
  1147  // See GetStreamKey for more information on using the GetStreamKey
  1148  // API call, and error handling.
  1149  //
  1150  // This method is useful when you want to inject custom logic or configuration
  1151  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1152  //
  1153  //
  1154  //    // Example sending a request using the GetStreamKeyRequest method.
  1155  //    req, resp := client.GetStreamKeyRequest(params)
  1156  //
  1157  //    err := req.Send()
  1158  //    if err == nil { // resp is now filled
  1159  //        fmt.Println(resp)
  1160  //    }
  1161  //
  1162  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStreamKey
  1163  func (c *IVS) GetStreamKeyRequest(input *GetStreamKeyInput) (req *request.Request, output *GetStreamKeyOutput) {
  1164  	op := &request.Operation{
  1165  		Name:       opGetStreamKey,
  1166  		HTTPMethod: "POST",
  1167  		HTTPPath:   "/GetStreamKey",
  1168  	}
  1169  
  1170  	if input == nil {
  1171  		input = &GetStreamKeyInput{}
  1172  	}
  1173  
  1174  	output = &GetStreamKeyOutput{}
  1175  	req = c.newRequest(op, input, output)
  1176  	return
  1177  }
  1178  
  1179  // GetStreamKey API operation for Amazon Interactive Video Service.
  1180  //
  1181  // Gets stream-key information for a specified ARN.
  1182  //
  1183  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1184  // with awserr.Error's Code and Message methods to get detailed information about
  1185  // the error.
  1186  //
  1187  // See the AWS API reference guide for Amazon Interactive Video Service's
  1188  // API operation GetStreamKey for usage and error information.
  1189  //
  1190  // Returned Error Types:
  1191  //   * ValidationException
  1192  //
  1193  //   * AccessDeniedException
  1194  //
  1195  //   * ResourceNotFoundException
  1196  //
  1197  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStreamKey
  1198  func (c *IVS) GetStreamKey(input *GetStreamKeyInput) (*GetStreamKeyOutput, error) {
  1199  	req, out := c.GetStreamKeyRequest(input)
  1200  	return out, req.Send()
  1201  }
  1202  
  1203  // GetStreamKeyWithContext is the same as GetStreamKey with the addition of
  1204  // the ability to pass a context and additional request options.
  1205  //
  1206  // See GetStreamKey for details on how to use this API operation.
  1207  //
  1208  // The context must be non-nil and will be used for request cancellation. If
  1209  // the context is nil a panic will occur. In the future the SDK may create
  1210  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1211  // for more information on using Contexts.
  1212  func (c *IVS) GetStreamKeyWithContext(ctx aws.Context, input *GetStreamKeyInput, opts ...request.Option) (*GetStreamKeyOutput, error) {
  1213  	req, out := c.GetStreamKeyRequest(input)
  1214  	req.SetContext(ctx)
  1215  	req.ApplyOptions(opts...)
  1216  	return out, req.Send()
  1217  }
  1218  
  1219  const opImportPlaybackKeyPair = "ImportPlaybackKeyPair"
  1220  
  1221  // ImportPlaybackKeyPairRequest generates a "aws/request.Request" representing the
  1222  // client's request for the ImportPlaybackKeyPair operation. The "output" return
  1223  // value will be populated with the request's response once the request completes
  1224  // successfully.
  1225  //
  1226  // Use "Send" method on the returned Request to send the API call to the service.
  1227  // the "output" return value is not valid until after Send returns without error.
  1228  //
  1229  // See ImportPlaybackKeyPair for more information on using the ImportPlaybackKeyPair
  1230  // API call, and error handling.
  1231  //
  1232  // This method is useful when you want to inject custom logic or configuration
  1233  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1234  //
  1235  //
  1236  //    // Example sending a request using the ImportPlaybackKeyPairRequest method.
  1237  //    req, resp := client.ImportPlaybackKeyPairRequest(params)
  1238  //
  1239  //    err := req.Send()
  1240  //    if err == nil { // resp is now filled
  1241  //        fmt.Println(resp)
  1242  //    }
  1243  //
  1244  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ImportPlaybackKeyPair
  1245  func (c *IVS) ImportPlaybackKeyPairRequest(input *ImportPlaybackKeyPairInput) (req *request.Request, output *ImportPlaybackKeyPairOutput) {
  1246  	op := &request.Operation{
  1247  		Name:       opImportPlaybackKeyPair,
  1248  		HTTPMethod: "POST",
  1249  		HTTPPath:   "/ImportPlaybackKeyPair",
  1250  	}
  1251  
  1252  	if input == nil {
  1253  		input = &ImportPlaybackKeyPairInput{}
  1254  	}
  1255  
  1256  	output = &ImportPlaybackKeyPairOutput{}
  1257  	req = c.newRequest(op, input, output)
  1258  	return
  1259  }
  1260  
  1261  // ImportPlaybackKeyPair API operation for Amazon Interactive Video Service.
  1262  //
  1263  // Imports the public portion of a new key pair and returns its arn and fingerprint.
  1264  // The privateKey can then be used to generate viewer authorization tokens,
  1265  // to grant viewers access to private channels. For more information, see Setting
  1266  // Up Private Channels (https://docs.aws.amazon.com/ivs/latest/userguide/private-channels.html)
  1267  // in the Amazon IVS User Guide.
  1268  //
  1269  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1270  // with awserr.Error's Code and Message methods to get detailed information about
  1271  // the error.
  1272  //
  1273  // See the AWS API reference guide for Amazon Interactive Video Service's
  1274  // API operation ImportPlaybackKeyPair for usage and error information.
  1275  //
  1276  // Returned Error Types:
  1277  //   * ValidationException
  1278  //
  1279  //   * ConflictException
  1280  //
  1281  //   * AccessDeniedException
  1282  //
  1283  //   * ServiceQuotaExceededException
  1284  //
  1285  //   * PendingVerification
  1286  //
  1287  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ImportPlaybackKeyPair
  1288  func (c *IVS) ImportPlaybackKeyPair(input *ImportPlaybackKeyPairInput) (*ImportPlaybackKeyPairOutput, error) {
  1289  	req, out := c.ImportPlaybackKeyPairRequest(input)
  1290  	return out, req.Send()
  1291  }
  1292  
  1293  // ImportPlaybackKeyPairWithContext is the same as ImportPlaybackKeyPair with the addition of
  1294  // the ability to pass a context and additional request options.
  1295  //
  1296  // See ImportPlaybackKeyPair for details on how to use this API operation.
  1297  //
  1298  // The context must be non-nil and will be used for request cancellation. If
  1299  // the context is nil a panic will occur. In the future the SDK may create
  1300  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1301  // for more information on using Contexts.
  1302  func (c *IVS) ImportPlaybackKeyPairWithContext(ctx aws.Context, input *ImportPlaybackKeyPairInput, opts ...request.Option) (*ImportPlaybackKeyPairOutput, error) {
  1303  	req, out := c.ImportPlaybackKeyPairRequest(input)
  1304  	req.SetContext(ctx)
  1305  	req.ApplyOptions(opts...)
  1306  	return out, req.Send()
  1307  }
  1308  
  1309  const opListChannels = "ListChannels"
  1310  
  1311  // ListChannelsRequest generates a "aws/request.Request" representing the
  1312  // client's request for the ListChannels operation. The "output" return
  1313  // value will be populated with the request's response once the request completes
  1314  // successfully.
  1315  //
  1316  // Use "Send" method on the returned Request to send the API call to the service.
  1317  // the "output" return value is not valid until after Send returns without error.
  1318  //
  1319  // See ListChannels for more information on using the ListChannels
  1320  // API call, and error handling.
  1321  //
  1322  // This method is useful when you want to inject custom logic or configuration
  1323  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1324  //
  1325  //
  1326  //    // Example sending a request using the ListChannelsRequest method.
  1327  //    req, resp := client.ListChannelsRequest(params)
  1328  //
  1329  //    err := req.Send()
  1330  //    if err == nil { // resp is now filled
  1331  //        fmt.Println(resp)
  1332  //    }
  1333  //
  1334  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListChannels
  1335  func (c *IVS) ListChannelsRequest(input *ListChannelsInput) (req *request.Request, output *ListChannelsOutput) {
  1336  	op := &request.Operation{
  1337  		Name:       opListChannels,
  1338  		HTTPMethod: "POST",
  1339  		HTTPPath:   "/ListChannels",
  1340  		Paginator: &request.Paginator{
  1341  			InputTokens:     []string{"nextToken"},
  1342  			OutputTokens:    []string{"nextToken"},
  1343  			LimitToken:      "maxResults",
  1344  			TruncationToken: "",
  1345  		},
  1346  	}
  1347  
  1348  	if input == nil {
  1349  		input = &ListChannelsInput{}
  1350  	}
  1351  
  1352  	output = &ListChannelsOutput{}
  1353  	req = c.newRequest(op, input, output)
  1354  	return
  1355  }
  1356  
  1357  // ListChannels API operation for Amazon Interactive Video Service.
  1358  //
  1359  // Gets summary information about all channels in your account, in the AWS region
  1360  // where the API request is processed. This list can be filtered to match a
  1361  // specified name or recording-configuration ARN. Filters are mutually exclusive
  1362  // and cannot be used together. If you try to use both filters, you will get
  1363  // an error (409 ConflictException).
  1364  //
  1365  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1366  // with awserr.Error's Code and Message methods to get detailed information about
  1367  // the error.
  1368  //
  1369  // See the AWS API reference guide for Amazon Interactive Video Service's
  1370  // API operation ListChannels for usage and error information.
  1371  //
  1372  // Returned Error Types:
  1373  //   * ValidationException
  1374  //
  1375  //   * AccessDeniedException
  1376  //
  1377  //   * ConflictException
  1378  //
  1379  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListChannels
  1380  func (c *IVS) ListChannels(input *ListChannelsInput) (*ListChannelsOutput, error) {
  1381  	req, out := c.ListChannelsRequest(input)
  1382  	return out, req.Send()
  1383  }
  1384  
  1385  // ListChannelsWithContext is the same as ListChannels with the addition of
  1386  // the ability to pass a context and additional request options.
  1387  //
  1388  // See ListChannels for details on how to use this API operation.
  1389  //
  1390  // The context must be non-nil and will be used for request cancellation. If
  1391  // the context is nil a panic will occur. In the future the SDK may create
  1392  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1393  // for more information on using Contexts.
  1394  func (c *IVS) ListChannelsWithContext(ctx aws.Context, input *ListChannelsInput, opts ...request.Option) (*ListChannelsOutput, error) {
  1395  	req, out := c.ListChannelsRequest(input)
  1396  	req.SetContext(ctx)
  1397  	req.ApplyOptions(opts...)
  1398  	return out, req.Send()
  1399  }
  1400  
  1401  // ListChannelsPages iterates over the pages of a ListChannels operation,
  1402  // calling the "fn" function with the response data for each page. To stop
  1403  // iterating, return false from the fn function.
  1404  //
  1405  // See ListChannels method for more information on how to use this operation.
  1406  //
  1407  // Note: This operation can generate multiple requests to a service.
  1408  //
  1409  //    // Example iterating over at most 3 pages of a ListChannels operation.
  1410  //    pageNum := 0
  1411  //    err := client.ListChannelsPages(params,
  1412  //        func(page *ivs.ListChannelsOutput, lastPage bool) bool {
  1413  //            pageNum++
  1414  //            fmt.Println(page)
  1415  //            return pageNum <= 3
  1416  //        })
  1417  //
  1418  func (c *IVS) ListChannelsPages(input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool) error {
  1419  	return c.ListChannelsPagesWithContext(aws.BackgroundContext(), input, fn)
  1420  }
  1421  
  1422  // ListChannelsPagesWithContext same as ListChannelsPages except
  1423  // it takes a Context and allows setting request options on the pages.
  1424  //
  1425  // The context must be non-nil and will be used for request cancellation. If
  1426  // the context is nil a panic will occur. In the future the SDK may create
  1427  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1428  // for more information on using Contexts.
  1429  func (c *IVS) ListChannelsPagesWithContext(ctx aws.Context, input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool, opts ...request.Option) error {
  1430  	p := request.Pagination{
  1431  		NewRequest: func() (*request.Request, error) {
  1432  			var inCpy *ListChannelsInput
  1433  			if input != nil {
  1434  				tmp := *input
  1435  				inCpy = &tmp
  1436  			}
  1437  			req, _ := c.ListChannelsRequest(inCpy)
  1438  			req.SetContext(ctx)
  1439  			req.ApplyOptions(opts...)
  1440  			return req, nil
  1441  		},
  1442  	}
  1443  
  1444  	for p.Next() {
  1445  		if !fn(p.Page().(*ListChannelsOutput), !p.HasNextPage()) {
  1446  			break
  1447  		}
  1448  	}
  1449  
  1450  	return p.Err()
  1451  }
  1452  
  1453  const opListPlaybackKeyPairs = "ListPlaybackKeyPairs"
  1454  
  1455  // ListPlaybackKeyPairsRequest generates a "aws/request.Request" representing the
  1456  // client's request for the ListPlaybackKeyPairs operation. The "output" return
  1457  // value will be populated with the request's response once the request completes
  1458  // successfully.
  1459  //
  1460  // Use "Send" method on the returned Request to send the API call to the service.
  1461  // the "output" return value is not valid until after Send returns without error.
  1462  //
  1463  // See ListPlaybackKeyPairs for more information on using the ListPlaybackKeyPairs
  1464  // API call, and error handling.
  1465  //
  1466  // This method is useful when you want to inject custom logic or configuration
  1467  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1468  //
  1469  //
  1470  //    // Example sending a request using the ListPlaybackKeyPairsRequest method.
  1471  //    req, resp := client.ListPlaybackKeyPairsRequest(params)
  1472  //
  1473  //    err := req.Send()
  1474  //    if err == nil { // resp is now filled
  1475  //        fmt.Println(resp)
  1476  //    }
  1477  //
  1478  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListPlaybackKeyPairs
  1479  func (c *IVS) ListPlaybackKeyPairsRequest(input *ListPlaybackKeyPairsInput) (req *request.Request, output *ListPlaybackKeyPairsOutput) {
  1480  	op := &request.Operation{
  1481  		Name:       opListPlaybackKeyPairs,
  1482  		HTTPMethod: "POST",
  1483  		HTTPPath:   "/ListPlaybackKeyPairs",
  1484  		Paginator: &request.Paginator{
  1485  			InputTokens:     []string{"nextToken"},
  1486  			OutputTokens:    []string{"nextToken"},
  1487  			LimitToken:      "maxResults",
  1488  			TruncationToken: "",
  1489  		},
  1490  	}
  1491  
  1492  	if input == nil {
  1493  		input = &ListPlaybackKeyPairsInput{}
  1494  	}
  1495  
  1496  	output = &ListPlaybackKeyPairsOutput{}
  1497  	req = c.newRequest(op, input, output)
  1498  	return
  1499  }
  1500  
  1501  // ListPlaybackKeyPairs API operation for Amazon Interactive Video Service.
  1502  //
  1503  // Gets summary information about playback key pairs. For more information,
  1504  // see Setting Up Private Channels (https://docs.aws.amazon.com/ivs/latest/userguide/private-channels.html)
  1505  // in the Amazon IVS User Guide.
  1506  //
  1507  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1508  // with awserr.Error's Code and Message methods to get detailed information about
  1509  // the error.
  1510  //
  1511  // See the AWS API reference guide for Amazon Interactive Video Service's
  1512  // API operation ListPlaybackKeyPairs for usage and error information.
  1513  //
  1514  // Returned Error Types:
  1515  //   * ValidationException
  1516  //
  1517  //   * AccessDeniedException
  1518  //
  1519  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListPlaybackKeyPairs
  1520  func (c *IVS) ListPlaybackKeyPairs(input *ListPlaybackKeyPairsInput) (*ListPlaybackKeyPairsOutput, error) {
  1521  	req, out := c.ListPlaybackKeyPairsRequest(input)
  1522  	return out, req.Send()
  1523  }
  1524  
  1525  // ListPlaybackKeyPairsWithContext is the same as ListPlaybackKeyPairs with the addition of
  1526  // the ability to pass a context and additional request options.
  1527  //
  1528  // See ListPlaybackKeyPairs for details on how to use this API operation.
  1529  //
  1530  // The context must be non-nil and will be used for request cancellation. If
  1531  // the context is nil a panic will occur. In the future the SDK may create
  1532  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1533  // for more information on using Contexts.
  1534  func (c *IVS) ListPlaybackKeyPairsWithContext(ctx aws.Context, input *ListPlaybackKeyPairsInput, opts ...request.Option) (*ListPlaybackKeyPairsOutput, error) {
  1535  	req, out := c.ListPlaybackKeyPairsRequest(input)
  1536  	req.SetContext(ctx)
  1537  	req.ApplyOptions(opts...)
  1538  	return out, req.Send()
  1539  }
  1540  
  1541  // ListPlaybackKeyPairsPages iterates over the pages of a ListPlaybackKeyPairs operation,
  1542  // calling the "fn" function with the response data for each page. To stop
  1543  // iterating, return false from the fn function.
  1544  //
  1545  // See ListPlaybackKeyPairs method for more information on how to use this operation.
  1546  //
  1547  // Note: This operation can generate multiple requests to a service.
  1548  //
  1549  //    // Example iterating over at most 3 pages of a ListPlaybackKeyPairs operation.
  1550  //    pageNum := 0
  1551  //    err := client.ListPlaybackKeyPairsPages(params,
  1552  //        func(page *ivs.ListPlaybackKeyPairsOutput, lastPage bool) bool {
  1553  //            pageNum++
  1554  //            fmt.Println(page)
  1555  //            return pageNum <= 3
  1556  //        })
  1557  //
  1558  func (c *IVS) ListPlaybackKeyPairsPages(input *ListPlaybackKeyPairsInput, fn func(*ListPlaybackKeyPairsOutput, bool) bool) error {
  1559  	return c.ListPlaybackKeyPairsPagesWithContext(aws.BackgroundContext(), input, fn)
  1560  }
  1561  
  1562  // ListPlaybackKeyPairsPagesWithContext same as ListPlaybackKeyPairsPages except
  1563  // it takes a Context and allows setting request options on the pages.
  1564  //
  1565  // The context must be non-nil and will be used for request cancellation. If
  1566  // the context is nil a panic will occur. In the future the SDK may create
  1567  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1568  // for more information on using Contexts.
  1569  func (c *IVS) ListPlaybackKeyPairsPagesWithContext(ctx aws.Context, input *ListPlaybackKeyPairsInput, fn func(*ListPlaybackKeyPairsOutput, bool) bool, opts ...request.Option) error {
  1570  	p := request.Pagination{
  1571  		NewRequest: func() (*request.Request, error) {
  1572  			var inCpy *ListPlaybackKeyPairsInput
  1573  			if input != nil {
  1574  				tmp := *input
  1575  				inCpy = &tmp
  1576  			}
  1577  			req, _ := c.ListPlaybackKeyPairsRequest(inCpy)
  1578  			req.SetContext(ctx)
  1579  			req.ApplyOptions(opts...)
  1580  			return req, nil
  1581  		},
  1582  	}
  1583  
  1584  	for p.Next() {
  1585  		if !fn(p.Page().(*ListPlaybackKeyPairsOutput), !p.HasNextPage()) {
  1586  			break
  1587  		}
  1588  	}
  1589  
  1590  	return p.Err()
  1591  }
  1592  
  1593  const opListRecordingConfigurations = "ListRecordingConfigurations"
  1594  
  1595  // ListRecordingConfigurationsRequest generates a "aws/request.Request" representing the
  1596  // client's request for the ListRecordingConfigurations operation. The "output" return
  1597  // value will be populated with the request's response once the request completes
  1598  // successfully.
  1599  //
  1600  // Use "Send" method on the returned Request to send the API call to the service.
  1601  // the "output" return value is not valid until after Send returns without error.
  1602  //
  1603  // See ListRecordingConfigurations for more information on using the ListRecordingConfigurations
  1604  // API call, and error handling.
  1605  //
  1606  // This method is useful when you want to inject custom logic or configuration
  1607  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1608  //
  1609  //
  1610  //    // Example sending a request using the ListRecordingConfigurationsRequest method.
  1611  //    req, resp := client.ListRecordingConfigurationsRequest(params)
  1612  //
  1613  //    err := req.Send()
  1614  //    if err == nil { // resp is now filled
  1615  //        fmt.Println(resp)
  1616  //    }
  1617  //
  1618  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListRecordingConfigurations
  1619  func (c *IVS) ListRecordingConfigurationsRequest(input *ListRecordingConfigurationsInput) (req *request.Request, output *ListRecordingConfigurationsOutput) {
  1620  	op := &request.Operation{
  1621  		Name:       opListRecordingConfigurations,
  1622  		HTTPMethod: "POST",
  1623  		HTTPPath:   "/ListRecordingConfigurations",
  1624  		Paginator: &request.Paginator{
  1625  			InputTokens:     []string{"nextToken"},
  1626  			OutputTokens:    []string{"nextToken"},
  1627  			LimitToken:      "maxResults",
  1628  			TruncationToken: "",
  1629  		},
  1630  	}
  1631  
  1632  	if input == nil {
  1633  		input = &ListRecordingConfigurationsInput{}
  1634  	}
  1635  
  1636  	output = &ListRecordingConfigurationsOutput{}
  1637  	req = c.newRequest(op, input, output)
  1638  	return
  1639  }
  1640  
  1641  // ListRecordingConfigurations API operation for Amazon Interactive Video Service.
  1642  //
  1643  // Gets summary information about all recording configurations in your account,
  1644  // in the AWS region where the API request is processed.
  1645  //
  1646  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1647  // with awserr.Error's Code and Message methods to get detailed information about
  1648  // the error.
  1649  //
  1650  // See the AWS API reference guide for Amazon Interactive Video Service's
  1651  // API operation ListRecordingConfigurations for usage and error information.
  1652  //
  1653  // Returned Error Types:
  1654  //   * AccessDeniedException
  1655  //
  1656  //   * InternalServerException
  1657  //
  1658  //   * ValidationException
  1659  //
  1660  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListRecordingConfigurations
  1661  func (c *IVS) ListRecordingConfigurations(input *ListRecordingConfigurationsInput) (*ListRecordingConfigurationsOutput, error) {
  1662  	req, out := c.ListRecordingConfigurationsRequest(input)
  1663  	return out, req.Send()
  1664  }
  1665  
  1666  // ListRecordingConfigurationsWithContext is the same as ListRecordingConfigurations with the addition of
  1667  // the ability to pass a context and additional request options.
  1668  //
  1669  // See ListRecordingConfigurations for details on how to use this API operation.
  1670  //
  1671  // The context must be non-nil and will be used for request cancellation. If
  1672  // the context is nil a panic will occur. In the future the SDK may create
  1673  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1674  // for more information on using Contexts.
  1675  func (c *IVS) ListRecordingConfigurationsWithContext(ctx aws.Context, input *ListRecordingConfigurationsInput, opts ...request.Option) (*ListRecordingConfigurationsOutput, error) {
  1676  	req, out := c.ListRecordingConfigurationsRequest(input)
  1677  	req.SetContext(ctx)
  1678  	req.ApplyOptions(opts...)
  1679  	return out, req.Send()
  1680  }
  1681  
  1682  // ListRecordingConfigurationsPages iterates over the pages of a ListRecordingConfigurations operation,
  1683  // calling the "fn" function with the response data for each page. To stop
  1684  // iterating, return false from the fn function.
  1685  //
  1686  // See ListRecordingConfigurations method for more information on how to use this operation.
  1687  //
  1688  // Note: This operation can generate multiple requests to a service.
  1689  //
  1690  //    // Example iterating over at most 3 pages of a ListRecordingConfigurations operation.
  1691  //    pageNum := 0
  1692  //    err := client.ListRecordingConfigurationsPages(params,
  1693  //        func(page *ivs.ListRecordingConfigurationsOutput, lastPage bool) bool {
  1694  //            pageNum++
  1695  //            fmt.Println(page)
  1696  //            return pageNum <= 3
  1697  //        })
  1698  //
  1699  func (c *IVS) ListRecordingConfigurationsPages(input *ListRecordingConfigurationsInput, fn func(*ListRecordingConfigurationsOutput, bool) bool) error {
  1700  	return c.ListRecordingConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
  1701  }
  1702  
  1703  // ListRecordingConfigurationsPagesWithContext same as ListRecordingConfigurationsPages except
  1704  // it takes a Context and allows setting request options on the pages.
  1705  //
  1706  // The context must be non-nil and will be used for request cancellation. If
  1707  // the context is nil a panic will occur. In the future the SDK may create
  1708  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1709  // for more information on using Contexts.
  1710  func (c *IVS) ListRecordingConfigurationsPagesWithContext(ctx aws.Context, input *ListRecordingConfigurationsInput, fn func(*ListRecordingConfigurationsOutput, bool) bool, opts ...request.Option) error {
  1711  	p := request.Pagination{
  1712  		NewRequest: func() (*request.Request, error) {
  1713  			var inCpy *ListRecordingConfigurationsInput
  1714  			if input != nil {
  1715  				tmp := *input
  1716  				inCpy = &tmp
  1717  			}
  1718  			req, _ := c.ListRecordingConfigurationsRequest(inCpy)
  1719  			req.SetContext(ctx)
  1720  			req.ApplyOptions(opts...)
  1721  			return req, nil
  1722  		},
  1723  	}
  1724  
  1725  	for p.Next() {
  1726  		if !fn(p.Page().(*ListRecordingConfigurationsOutput), !p.HasNextPage()) {
  1727  			break
  1728  		}
  1729  	}
  1730  
  1731  	return p.Err()
  1732  }
  1733  
  1734  const opListStreamKeys = "ListStreamKeys"
  1735  
  1736  // ListStreamKeysRequest generates a "aws/request.Request" representing the
  1737  // client's request for the ListStreamKeys operation. The "output" return
  1738  // value will be populated with the request's response once the request completes
  1739  // successfully.
  1740  //
  1741  // Use "Send" method on the returned Request to send the API call to the service.
  1742  // the "output" return value is not valid until after Send returns without error.
  1743  //
  1744  // See ListStreamKeys for more information on using the ListStreamKeys
  1745  // API call, and error handling.
  1746  //
  1747  // This method is useful when you want to inject custom logic or configuration
  1748  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1749  //
  1750  //
  1751  //    // Example sending a request using the ListStreamKeysRequest method.
  1752  //    req, resp := client.ListStreamKeysRequest(params)
  1753  //
  1754  //    err := req.Send()
  1755  //    if err == nil { // resp is now filled
  1756  //        fmt.Println(resp)
  1757  //    }
  1758  //
  1759  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreamKeys
  1760  func (c *IVS) ListStreamKeysRequest(input *ListStreamKeysInput) (req *request.Request, output *ListStreamKeysOutput) {
  1761  	op := &request.Operation{
  1762  		Name:       opListStreamKeys,
  1763  		HTTPMethod: "POST",
  1764  		HTTPPath:   "/ListStreamKeys",
  1765  		Paginator: &request.Paginator{
  1766  			InputTokens:     []string{"nextToken"},
  1767  			OutputTokens:    []string{"nextToken"},
  1768  			LimitToken:      "maxResults",
  1769  			TruncationToken: "",
  1770  		},
  1771  	}
  1772  
  1773  	if input == nil {
  1774  		input = &ListStreamKeysInput{}
  1775  	}
  1776  
  1777  	output = &ListStreamKeysOutput{}
  1778  	req = c.newRequest(op, input, output)
  1779  	return
  1780  }
  1781  
  1782  // ListStreamKeys API operation for Amazon Interactive Video Service.
  1783  //
  1784  // Gets summary information about stream keys for the specified channel.
  1785  //
  1786  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1787  // with awserr.Error's Code and Message methods to get detailed information about
  1788  // the error.
  1789  //
  1790  // See the AWS API reference guide for Amazon Interactive Video Service's
  1791  // API operation ListStreamKeys for usage and error information.
  1792  //
  1793  // Returned Error Types:
  1794  //   * ValidationException
  1795  //
  1796  //   * AccessDeniedException
  1797  //
  1798  //   * ResourceNotFoundException
  1799  //
  1800  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreamKeys
  1801  func (c *IVS) ListStreamKeys(input *ListStreamKeysInput) (*ListStreamKeysOutput, error) {
  1802  	req, out := c.ListStreamKeysRequest(input)
  1803  	return out, req.Send()
  1804  }
  1805  
  1806  // ListStreamKeysWithContext is the same as ListStreamKeys with the addition of
  1807  // the ability to pass a context and additional request options.
  1808  //
  1809  // See ListStreamKeys for details on how to use this API operation.
  1810  //
  1811  // The context must be non-nil and will be used for request cancellation. If
  1812  // the context is nil a panic will occur. In the future the SDK may create
  1813  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1814  // for more information on using Contexts.
  1815  func (c *IVS) ListStreamKeysWithContext(ctx aws.Context, input *ListStreamKeysInput, opts ...request.Option) (*ListStreamKeysOutput, error) {
  1816  	req, out := c.ListStreamKeysRequest(input)
  1817  	req.SetContext(ctx)
  1818  	req.ApplyOptions(opts...)
  1819  	return out, req.Send()
  1820  }
  1821  
  1822  // ListStreamKeysPages iterates over the pages of a ListStreamKeys operation,
  1823  // calling the "fn" function with the response data for each page. To stop
  1824  // iterating, return false from the fn function.
  1825  //
  1826  // See ListStreamKeys method for more information on how to use this operation.
  1827  //
  1828  // Note: This operation can generate multiple requests to a service.
  1829  //
  1830  //    // Example iterating over at most 3 pages of a ListStreamKeys operation.
  1831  //    pageNum := 0
  1832  //    err := client.ListStreamKeysPages(params,
  1833  //        func(page *ivs.ListStreamKeysOutput, lastPage bool) bool {
  1834  //            pageNum++
  1835  //            fmt.Println(page)
  1836  //            return pageNum <= 3
  1837  //        })
  1838  //
  1839  func (c *IVS) ListStreamKeysPages(input *ListStreamKeysInput, fn func(*ListStreamKeysOutput, bool) bool) error {
  1840  	return c.ListStreamKeysPagesWithContext(aws.BackgroundContext(), input, fn)
  1841  }
  1842  
  1843  // ListStreamKeysPagesWithContext same as ListStreamKeysPages except
  1844  // it takes a Context and allows setting request options on the pages.
  1845  //
  1846  // The context must be non-nil and will be used for request cancellation. If
  1847  // the context is nil a panic will occur. In the future the SDK may create
  1848  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1849  // for more information on using Contexts.
  1850  func (c *IVS) ListStreamKeysPagesWithContext(ctx aws.Context, input *ListStreamKeysInput, fn func(*ListStreamKeysOutput, bool) bool, opts ...request.Option) error {
  1851  	p := request.Pagination{
  1852  		NewRequest: func() (*request.Request, error) {
  1853  			var inCpy *ListStreamKeysInput
  1854  			if input != nil {
  1855  				tmp := *input
  1856  				inCpy = &tmp
  1857  			}
  1858  			req, _ := c.ListStreamKeysRequest(inCpy)
  1859  			req.SetContext(ctx)
  1860  			req.ApplyOptions(opts...)
  1861  			return req, nil
  1862  		},
  1863  	}
  1864  
  1865  	for p.Next() {
  1866  		if !fn(p.Page().(*ListStreamKeysOutput), !p.HasNextPage()) {
  1867  			break
  1868  		}
  1869  	}
  1870  
  1871  	return p.Err()
  1872  }
  1873  
  1874  const opListStreams = "ListStreams"
  1875  
  1876  // ListStreamsRequest generates a "aws/request.Request" representing the
  1877  // client's request for the ListStreams operation. The "output" return
  1878  // value will be populated with the request's response once the request completes
  1879  // successfully.
  1880  //
  1881  // Use "Send" method on the returned Request to send the API call to the service.
  1882  // the "output" return value is not valid until after Send returns without error.
  1883  //
  1884  // See ListStreams for more information on using the ListStreams
  1885  // API call, and error handling.
  1886  //
  1887  // This method is useful when you want to inject custom logic or configuration
  1888  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1889  //
  1890  //
  1891  //    // Example sending a request using the ListStreamsRequest method.
  1892  //    req, resp := client.ListStreamsRequest(params)
  1893  //
  1894  //    err := req.Send()
  1895  //    if err == nil { // resp is now filled
  1896  //        fmt.Println(resp)
  1897  //    }
  1898  //
  1899  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreams
  1900  func (c *IVS) ListStreamsRequest(input *ListStreamsInput) (req *request.Request, output *ListStreamsOutput) {
  1901  	op := &request.Operation{
  1902  		Name:       opListStreams,
  1903  		HTTPMethod: "POST",
  1904  		HTTPPath:   "/ListStreams",
  1905  		Paginator: &request.Paginator{
  1906  			InputTokens:     []string{"nextToken"},
  1907  			OutputTokens:    []string{"nextToken"},
  1908  			LimitToken:      "maxResults",
  1909  			TruncationToken: "",
  1910  		},
  1911  	}
  1912  
  1913  	if input == nil {
  1914  		input = &ListStreamsInput{}
  1915  	}
  1916  
  1917  	output = &ListStreamsOutput{}
  1918  	req = c.newRequest(op, input, output)
  1919  	return
  1920  }
  1921  
  1922  // ListStreams API operation for Amazon Interactive Video Service.
  1923  //
  1924  // Gets summary information about live streams in your account, in the AWS region
  1925  // where the API request is processed.
  1926  //
  1927  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1928  // with awserr.Error's Code and Message methods to get detailed information about
  1929  // the error.
  1930  //
  1931  // See the AWS API reference guide for Amazon Interactive Video Service's
  1932  // API operation ListStreams for usage and error information.
  1933  //
  1934  // Returned Error Types:
  1935  //   * AccessDeniedException
  1936  //
  1937  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreams
  1938  func (c *IVS) ListStreams(input *ListStreamsInput) (*ListStreamsOutput, error) {
  1939  	req, out := c.ListStreamsRequest(input)
  1940  	return out, req.Send()
  1941  }
  1942  
  1943  // ListStreamsWithContext is the same as ListStreams with the addition of
  1944  // the ability to pass a context and additional request options.
  1945  //
  1946  // See ListStreams for details on how to use this API operation.
  1947  //
  1948  // The context must be non-nil and will be used for request cancellation. If
  1949  // the context is nil a panic will occur. In the future the SDK may create
  1950  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1951  // for more information on using Contexts.
  1952  func (c *IVS) ListStreamsWithContext(ctx aws.Context, input *ListStreamsInput, opts ...request.Option) (*ListStreamsOutput, error) {
  1953  	req, out := c.ListStreamsRequest(input)
  1954  	req.SetContext(ctx)
  1955  	req.ApplyOptions(opts...)
  1956  	return out, req.Send()
  1957  }
  1958  
  1959  // ListStreamsPages iterates over the pages of a ListStreams operation,
  1960  // calling the "fn" function with the response data for each page. To stop
  1961  // iterating, return false from the fn function.
  1962  //
  1963  // See ListStreams method for more information on how to use this operation.
  1964  //
  1965  // Note: This operation can generate multiple requests to a service.
  1966  //
  1967  //    // Example iterating over at most 3 pages of a ListStreams operation.
  1968  //    pageNum := 0
  1969  //    err := client.ListStreamsPages(params,
  1970  //        func(page *ivs.ListStreamsOutput, lastPage bool) bool {
  1971  //            pageNum++
  1972  //            fmt.Println(page)
  1973  //            return pageNum <= 3
  1974  //        })
  1975  //
  1976  func (c *IVS) ListStreamsPages(input *ListStreamsInput, fn func(*ListStreamsOutput, bool) bool) error {
  1977  	return c.ListStreamsPagesWithContext(aws.BackgroundContext(), input, fn)
  1978  }
  1979  
  1980  // ListStreamsPagesWithContext same as ListStreamsPages except
  1981  // it takes a Context and allows setting request options on the pages.
  1982  //
  1983  // The context must be non-nil and will be used for request cancellation. If
  1984  // the context is nil a panic will occur. In the future the SDK may create
  1985  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1986  // for more information on using Contexts.
  1987  func (c *IVS) ListStreamsPagesWithContext(ctx aws.Context, input *ListStreamsInput, fn func(*ListStreamsOutput, bool) bool, opts ...request.Option) error {
  1988  	p := request.Pagination{
  1989  		NewRequest: func() (*request.Request, error) {
  1990  			var inCpy *ListStreamsInput
  1991  			if input != nil {
  1992  				tmp := *input
  1993  				inCpy = &tmp
  1994  			}
  1995  			req, _ := c.ListStreamsRequest(inCpy)
  1996  			req.SetContext(ctx)
  1997  			req.ApplyOptions(opts...)
  1998  			return req, nil
  1999  		},
  2000  	}
  2001  
  2002  	for p.Next() {
  2003  		if !fn(p.Page().(*ListStreamsOutput), !p.HasNextPage()) {
  2004  			break
  2005  		}
  2006  	}
  2007  
  2008  	return p.Err()
  2009  }
  2010  
  2011  const opListTagsForResource = "ListTagsForResource"
  2012  
  2013  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2014  // client's request for the ListTagsForResource 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 ListTagsForResource for more information on using the ListTagsForResource
  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 ListTagsForResourceRequest method.
  2029  //    req, resp := client.ListTagsForResourceRequest(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/ivs-2020-07-14/ListTagsForResource
  2037  func (c *IVS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2038  	op := &request.Operation{
  2039  		Name:       opListTagsForResource,
  2040  		HTTPMethod: "GET",
  2041  		HTTPPath:   "/tags/{resourceArn}",
  2042  		Paginator: &request.Paginator{
  2043  			InputTokens:     []string{"nextToken"},
  2044  			OutputTokens:    []string{"nextToken"},
  2045  			LimitToken:      "maxResults",
  2046  			TruncationToken: "",
  2047  		},
  2048  	}
  2049  
  2050  	if input == nil {
  2051  		input = &ListTagsForResourceInput{}
  2052  	}
  2053  
  2054  	output = &ListTagsForResourceOutput{}
  2055  	req = c.newRequest(op, input, output)
  2056  	return
  2057  }
  2058  
  2059  // ListTagsForResource API operation for Amazon Interactive Video Service.
  2060  //
  2061  // Gets information about AWS tags for the specified ARN.
  2062  //
  2063  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2064  // with awserr.Error's Code and Message methods to get detailed information about
  2065  // the error.
  2066  //
  2067  // See the AWS API reference guide for Amazon Interactive Video Service's
  2068  // API operation ListTagsForResource for usage and error information.
  2069  //
  2070  // Returned Error Types:
  2071  //   * InternalServerException
  2072  //
  2073  //   * ValidationException
  2074  //
  2075  //   * ResourceNotFoundException
  2076  //
  2077  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListTagsForResource
  2078  func (c *IVS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2079  	req, out := c.ListTagsForResourceRequest(input)
  2080  	return out, req.Send()
  2081  }
  2082  
  2083  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2084  // the ability to pass a context and additional request options.
  2085  //
  2086  // See ListTagsForResource for details on how to use this API operation.
  2087  //
  2088  // The context must be non-nil and will be used for request cancellation. If
  2089  // the context is nil a panic will occur. In the future the SDK may create
  2090  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2091  // for more information on using Contexts.
  2092  func (c *IVS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2093  	req, out := c.ListTagsForResourceRequest(input)
  2094  	req.SetContext(ctx)
  2095  	req.ApplyOptions(opts...)
  2096  	return out, req.Send()
  2097  }
  2098  
  2099  // ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
  2100  // calling the "fn" function with the response data for each page. To stop
  2101  // iterating, return false from the fn function.
  2102  //
  2103  // See ListTagsForResource method for more information on how to use this operation.
  2104  //
  2105  // Note: This operation can generate multiple requests to a service.
  2106  //
  2107  //    // Example iterating over at most 3 pages of a ListTagsForResource operation.
  2108  //    pageNum := 0
  2109  //    err := client.ListTagsForResourcePages(params,
  2110  //        func(page *ivs.ListTagsForResourceOutput, lastPage bool) bool {
  2111  //            pageNum++
  2112  //            fmt.Println(page)
  2113  //            return pageNum <= 3
  2114  //        })
  2115  //
  2116  func (c *IVS) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
  2117  	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
  2118  }
  2119  
  2120  // ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
  2121  // it takes a Context and allows setting request options on the pages.
  2122  //
  2123  // The context must be non-nil and will be used for request cancellation. If
  2124  // the context is nil a panic will occur. In the future the SDK may create
  2125  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2126  // for more information on using Contexts.
  2127  func (c *IVS) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
  2128  	p := request.Pagination{
  2129  		NewRequest: func() (*request.Request, error) {
  2130  			var inCpy *ListTagsForResourceInput
  2131  			if input != nil {
  2132  				tmp := *input
  2133  				inCpy = &tmp
  2134  			}
  2135  			req, _ := c.ListTagsForResourceRequest(inCpy)
  2136  			req.SetContext(ctx)
  2137  			req.ApplyOptions(opts...)
  2138  			return req, nil
  2139  		},
  2140  	}
  2141  
  2142  	for p.Next() {
  2143  		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
  2144  			break
  2145  		}
  2146  	}
  2147  
  2148  	return p.Err()
  2149  }
  2150  
  2151  const opPutMetadata = "PutMetadata"
  2152  
  2153  // PutMetadataRequest generates a "aws/request.Request" representing the
  2154  // client's request for the PutMetadata operation. The "output" return
  2155  // value will be populated with the request's response once the request completes
  2156  // successfully.
  2157  //
  2158  // Use "Send" method on the returned Request to send the API call to the service.
  2159  // the "output" return value is not valid until after Send returns without error.
  2160  //
  2161  // See PutMetadata for more information on using the PutMetadata
  2162  // API call, and error handling.
  2163  //
  2164  // This method is useful when you want to inject custom logic or configuration
  2165  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2166  //
  2167  //
  2168  //    // Example sending a request using the PutMetadataRequest method.
  2169  //    req, resp := client.PutMetadataRequest(params)
  2170  //
  2171  //    err := req.Send()
  2172  //    if err == nil { // resp is now filled
  2173  //        fmt.Println(resp)
  2174  //    }
  2175  //
  2176  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/PutMetadata
  2177  func (c *IVS) PutMetadataRequest(input *PutMetadataInput) (req *request.Request, output *PutMetadataOutput) {
  2178  	op := &request.Operation{
  2179  		Name:       opPutMetadata,
  2180  		HTTPMethod: "POST",
  2181  		HTTPPath:   "/PutMetadata",
  2182  	}
  2183  
  2184  	if input == nil {
  2185  		input = &PutMetadataInput{}
  2186  	}
  2187  
  2188  	output = &PutMetadataOutput{}
  2189  	req = c.newRequest(op, input, output)
  2190  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2191  	return
  2192  }
  2193  
  2194  // PutMetadata API operation for Amazon Interactive Video Service.
  2195  //
  2196  // Inserts metadata into the active stream of the specified channel. A maximum
  2197  // of 5 requests per second per channel is allowed, each with a maximum 1 KB
  2198  // payload. (If 5 TPS is not sufficient for your needs, we recommend batching
  2199  // your data into a single PutMetadata call.) Also see Embedding Metadata within
  2200  // a Video Stream (https://docs.aws.amazon.com/ivs/latest/userguide/metadata.html)
  2201  // in the Amazon IVS User Guide.
  2202  //
  2203  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2204  // with awserr.Error's Code and Message methods to get detailed information about
  2205  // the error.
  2206  //
  2207  // See the AWS API reference guide for Amazon Interactive Video Service's
  2208  // API operation PutMetadata for usage and error information.
  2209  //
  2210  // Returned Error Types:
  2211  //   * ThrottlingException
  2212  //
  2213  //   * ResourceNotFoundException
  2214  //
  2215  //   * ChannelNotBroadcasting
  2216  //
  2217  //   * ValidationException
  2218  //
  2219  //   * AccessDeniedException
  2220  //
  2221  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/PutMetadata
  2222  func (c *IVS) PutMetadata(input *PutMetadataInput) (*PutMetadataOutput, error) {
  2223  	req, out := c.PutMetadataRequest(input)
  2224  	return out, req.Send()
  2225  }
  2226  
  2227  // PutMetadataWithContext is the same as PutMetadata with the addition of
  2228  // the ability to pass a context and additional request options.
  2229  //
  2230  // See PutMetadata for details on how to use this API operation.
  2231  //
  2232  // The context must be non-nil and will be used for request cancellation. If
  2233  // the context is nil a panic will occur. In the future the SDK may create
  2234  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2235  // for more information on using Contexts.
  2236  func (c *IVS) PutMetadataWithContext(ctx aws.Context, input *PutMetadataInput, opts ...request.Option) (*PutMetadataOutput, error) {
  2237  	req, out := c.PutMetadataRequest(input)
  2238  	req.SetContext(ctx)
  2239  	req.ApplyOptions(opts...)
  2240  	return out, req.Send()
  2241  }
  2242  
  2243  const opStopStream = "StopStream"
  2244  
  2245  // StopStreamRequest generates a "aws/request.Request" representing the
  2246  // client's request for the StopStream operation. The "output" return
  2247  // value will be populated with the request's response once the request completes
  2248  // successfully.
  2249  //
  2250  // Use "Send" method on the returned Request to send the API call to the service.
  2251  // the "output" return value is not valid until after Send returns without error.
  2252  //
  2253  // See StopStream for more information on using the StopStream
  2254  // API call, and error handling.
  2255  //
  2256  // This method is useful when you want to inject custom logic or configuration
  2257  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2258  //
  2259  //
  2260  //    // Example sending a request using the StopStreamRequest method.
  2261  //    req, resp := client.StopStreamRequest(params)
  2262  //
  2263  //    err := req.Send()
  2264  //    if err == nil { // resp is now filled
  2265  //        fmt.Println(resp)
  2266  //    }
  2267  //
  2268  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/StopStream
  2269  func (c *IVS) StopStreamRequest(input *StopStreamInput) (req *request.Request, output *StopStreamOutput) {
  2270  	op := &request.Operation{
  2271  		Name:       opStopStream,
  2272  		HTTPMethod: "POST",
  2273  		HTTPPath:   "/StopStream",
  2274  	}
  2275  
  2276  	if input == nil {
  2277  		input = &StopStreamInput{}
  2278  	}
  2279  
  2280  	output = &StopStreamOutput{}
  2281  	req = c.newRequest(op, input, output)
  2282  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2283  	return
  2284  }
  2285  
  2286  // StopStream API operation for Amazon Interactive Video Service.
  2287  //
  2288  // Disconnects the incoming RTMPS stream for the specified channel. Can be used
  2289  // in conjunction with DeleteStreamKey to prevent further streaming to a channel.
  2290  //
  2291  // Many streaming client-software libraries automatically reconnect a dropped
  2292  // RTMPS session, so to stop the stream permanently, you may want to first revoke
  2293  // the streamKey attached to the channel.
  2294  //
  2295  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2296  // with awserr.Error's Code and Message methods to get detailed information about
  2297  // the error.
  2298  //
  2299  // See the AWS API reference guide for Amazon Interactive Video Service's
  2300  // API operation StopStream for usage and error information.
  2301  //
  2302  // Returned Error Types:
  2303  //   * ResourceNotFoundException
  2304  //
  2305  //   * ChannelNotBroadcasting
  2306  //
  2307  //   * ValidationException
  2308  //
  2309  //   * AccessDeniedException
  2310  //
  2311  //   * StreamUnavailable
  2312  //
  2313  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/StopStream
  2314  func (c *IVS) StopStream(input *StopStreamInput) (*StopStreamOutput, error) {
  2315  	req, out := c.StopStreamRequest(input)
  2316  	return out, req.Send()
  2317  }
  2318  
  2319  // StopStreamWithContext is the same as StopStream with the addition of
  2320  // the ability to pass a context and additional request options.
  2321  //
  2322  // See StopStream for details on how to use this API operation.
  2323  //
  2324  // The context must be non-nil and will be used for request cancellation. If
  2325  // the context is nil a panic will occur. In the future the SDK may create
  2326  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2327  // for more information on using Contexts.
  2328  func (c *IVS) StopStreamWithContext(ctx aws.Context, input *StopStreamInput, opts ...request.Option) (*StopStreamOutput, error) {
  2329  	req, out := c.StopStreamRequest(input)
  2330  	req.SetContext(ctx)
  2331  	req.ApplyOptions(opts...)
  2332  	return out, req.Send()
  2333  }
  2334  
  2335  const opTagResource = "TagResource"
  2336  
  2337  // TagResourceRequest generates a "aws/request.Request" representing the
  2338  // client's request for the TagResource operation. The "output" return
  2339  // value will be populated with the request's response once the request completes
  2340  // successfully.
  2341  //
  2342  // Use "Send" method on the returned Request to send the API call to the service.
  2343  // the "output" return value is not valid until after Send returns without error.
  2344  //
  2345  // See TagResource for more information on using the TagResource
  2346  // API call, and error handling.
  2347  //
  2348  // This method is useful when you want to inject custom logic or configuration
  2349  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2350  //
  2351  //
  2352  //    // Example sending a request using the TagResourceRequest method.
  2353  //    req, resp := client.TagResourceRequest(params)
  2354  //
  2355  //    err := req.Send()
  2356  //    if err == nil { // resp is now filled
  2357  //        fmt.Println(resp)
  2358  //    }
  2359  //
  2360  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/TagResource
  2361  func (c *IVS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2362  	op := &request.Operation{
  2363  		Name:       opTagResource,
  2364  		HTTPMethod: "POST",
  2365  		HTTPPath:   "/tags/{resourceArn}",
  2366  	}
  2367  
  2368  	if input == nil {
  2369  		input = &TagResourceInput{}
  2370  	}
  2371  
  2372  	output = &TagResourceOutput{}
  2373  	req = c.newRequest(op, input, output)
  2374  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2375  	return
  2376  }
  2377  
  2378  // TagResource API operation for Amazon Interactive Video Service.
  2379  //
  2380  // Adds or updates tags for the AWS resource with the specified ARN.
  2381  //
  2382  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2383  // with awserr.Error's Code and Message methods to get detailed information about
  2384  // the error.
  2385  //
  2386  // See the AWS API reference guide for Amazon Interactive Video Service's
  2387  // API operation TagResource for usage and error information.
  2388  //
  2389  // Returned Error Types:
  2390  //   * InternalServerException
  2391  //
  2392  //   * ValidationException
  2393  //
  2394  //   * ResourceNotFoundException
  2395  //
  2396  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/TagResource
  2397  func (c *IVS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2398  	req, out := c.TagResourceRequest(input)
  2399  	return out, req.Send()
  2400  }
  2401  
  2402  // TagResourceWithContext is the same as TagResource with the addition of
  2403  // the ability to pass a context and additional request options.
  2404  //
  2405  // See TagResource for details on how to use this API operation.
  2406  //
  2407  // The context must be non-nil and will be used for request cancellation. If
  2408  // the context is nil a panic will occur. In the future the SDK may create
  2409  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2410  // for more information on using Contexts.
  2411  func (c *IVS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2412  	req, out := c.TagResourceRequest(input)
  2413  	req.SetContext(ctx)
  2414  	req.ApplyOptions(opts...)
  2415  	return out, req.Send()
  2416  }
  2417  
  2418  const opUntagResource = "UntagResource"
  2419  
  2420  // UntagResourceRequest generates a "aws/request.Request" representing the
  2421  // client's request for the UntagResource operation. The "output" return
  2422  // value will be populated with the request's response once the request completes
  2423  // successfully.
  2424  //
  2425  // Use "Send" method on the returned Request to send the API call to the service.
  2426  // the "output" return value is not valid until after Send returns without error.
  2427  //
  2428  // See UntagResource for more information on using the UntagResource
  2429  // API call, and error handling.
  2430  //
  2431  // This method is useful when you want to inject custom logic or configuration
  2432  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2433  //
  2434  //
  2435  //    // Example sending a request using the UntagResourceRequest method.
  2436  //    req, resp := client.UntagResourceRequest(params)
  2437  //
  2438  //    err := req.Send()
  2439  //    if err == nil { // resp is now filled
  2440  //        fmt.Println(resp)
  2441  //    }
  2442  //
  2443  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/UntagResource
  2444  func (c *IVS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2445  	op := &request.Operation{
  2446  		Name:       opUntagResource,
  2447  		HTTPMethod: "DELETE",
  2448  		HTTPPath:   "/tags/{resourceArn}",
  2449  	}
  2450  
  2451  	if input == nil {
  2452  		input = &UntagResourceInput{}
  2453  	}
  2454  
  2455  	output = &UntagResourceOutput{}
  2456  	req = c.newRequest(op, input, output)
  2457  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2458  	return
  2459  }
  2460  
  2461  // UntagResource API operation for Amazon Interactive Video Service.
  2462  //
  2463  // Removes tags from the resource with the specified ARN.
  2464  //
  2465  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2466  // with awserr.Error's Code and Message methods to get detailed information about
  2467  // the error.
  2468  //
  2469  // See the AWS API reference guide for Amazon Interactive Video Service's
  2470  // API operation UntagResource for usage and error information.
  2471  //
  2472  // Returned Error Types:
  2473  //   * InternalServerException
  2474  //
  2475  //   * ValidationException
  2476  //
  2477  //   * ResourceNotFoundException
  2478  //
  2479  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/UntagResource
  2480  func (c *IVS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  2481  	req, out := c.UntagResourceRequest(input)
  2482  	return out, req.Send()
  2483  }
  2484  
  2485  // UntagResourceWithContext is the same as UntagResource with the addition of
  2486  // the ability to pass a context and additional request options.
  2487  //
  2488  // See UntagResource for details on how to use this API operation.
  2489  //
  2490  // The context must be non-nil and will be used for request cancellation. If
  2491  // the context is nil a panic will occur. In the future the SDK may create
  2492  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2493  // for more information on using Contexts.
  2494  func (c *IVS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  2495  	req, out := c.UntagResourceRequest(input)
  2496  	req.SetContext(ctx)
  2497  	req.ApplyOptions(opts...)
  2498  	return out, req.Send()
  2499  }
  2500  
  2501  const opUpdateChannel = "UpdateChannel"
  2502  
  2503  // UpdateChannelRequest generates a "aws/request.Request" representing the
  2504  // client's request for the UpdateChannel operation. The "output" return
  2505  // value will be populated with the request's response once the request completes
  2506  // successfully.
  2507  //
  2508  // Use "Send" method on the returned Request to send the API call to the service.
  2509  // the "output" return value is not valid until after Send returns without error.
  2510  //
  2511  // See UpdateChannel for more information on using the UpdateChannel
  2512  // API call, and error handling.
  2513  //
  2514  // This method is useful when you want to inject custom logic or configuration
  2515  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2516  //
  2517  //
  2518  //    // Example sending a request using the UpdateChannelRequest method.
  2519  //    req, resp := client.UpdateChannelRequest(params)
  2520  //
  2521  //    err := req.Send()
  2522  //    if err == nil { // resp is now filled
  2523  //        fmt.Println(resp)
  2524  //    }
  2525  //
  2526  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/UpdateChannel
  2527  func (c *IVS) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) {
  2528  	op := &request.Operation{
  2529  		Name:       opUpdateChannel,
  2530  		HTTPMethod: "POST",
  2531  		HTTPPath:   "/UpdateChannel",
  2532  	}
  2533  
  2534  	if input == nil {
  2535  		input = &UpdateChannelInput{}
  2536  	}
  2537  
  2538  	output = &UpdateChannelOutput{}
  2539  	req = c.newRequest(op, input, output)
  2540  	return
  2541  }
  2542  
  2543  // UpdateChannel API operation for Amazon Interactive Video Service.
  2544  //
  2545  // Updates a channel's configuration. This does not affect an ongoing stream
  2546  // of this channel. You must stop and restart the stream for the changes to
  2547  // take effect.
  2548  //
  2549  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2550  // with awserr.Error's Code and Message methods to get detailed information about
  2551  // the error.
  2552  //
  2553  // See the AWS API reference guide for Amazon Interactive Video Service's
  2554  // API operation UpdateChannel for usage and error information.
  2555  //
  2556  // Returned Error Types:
  2557  //   * ValidationException
  2558  //
  2559  //   * AccessDeniedException
  2560  //
  2561  //   * ResourceNotFoundException
  2562  //
  2563  //   * ConflictException
  2564  //
  2565  //   * PendingVerification
  2566  //
  2567  // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/UpdateChannel
  2568  func (c *IVS) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) {
  2569  	req, out := c.UpdateChannelRequest(input)
  2570  	return out, req.Send()
  2571  }
  2572  
  2573  // UpdateChannelWithContext is the same as UpdateChannel with the addition of
  2574  // the ability to pass a context and additional request options.
  2575  //
  2576  // See UpdateChannel for details on how to use this API operation.
  2577  //
  2578  // The context must be non-nil and will be used for request cancellation. If
  2579  // the context is nil a panic will occur. In the future the SDK may create
  2580  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2581  // for more information on using Contexts.
  2582  func (c *IVS) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) {
  2583  	req, out := c.UpdateChannelRequest(input)
  2584  	req.SetContext(ctx)
  2585  	req.ApplyOptions(opts...)
  2586  	return out, req.Send()
  2587  }
  2588  
  2589  type AccessDeniedException struct {
  2590  	_            struct{}                  `type:"structure"`
  2591  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2592  
  2593  	// User does not have sufficient access to perform this action.
  2594  	ExceptionMessage *string `locationName:"exceptionMessage" type:"string"`
  2595  
  2596  	Message_ *string `locationName:"message" type:"string"`
  2597  }
  2598  
  2599  // String returns the string representation.
  2600  //
  2601  // API parameter values that are decorated as "sensitive" in the API will not
  2602  // be included in the string output. The member name will be present, but the
  2603  // value will be replaced with "sensitive".
  2604  func (s AccessDeniedException) String() string {
  2605  	return awsutil.Prettify(s)
  2606  }
  2607  
  2608  // GoString returns the string representation.
  2609  //
  2610  // API parameter values that are decorated as "sensitive" in the API will not
  2611  // be included in the string output. The member name will be present, but the
  2612  // value will be replaced with "sensitive".
  2613  func (s AccessDeniedException) GoString() string {
  2614  	return s.String()
  2615  }
  2616  
  2617  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  2618  	return &AccessDeniedException{
  2619  		RespMetadata: v,
  2620  	}
  2621  }
  2622  
  2623  // Code returns the exception type name.
  2624  func (s *AccessDeniedException) Code() string {
  2625  	return "AccessDeniedException"
  2626  }
  2627  
  2628  // Message returns the exception's message.
  2629  func (s *AccessDeniedException) Message() string {
  2630  	if s.Message_ != nil {
  2631  		return *s.Message_
  2632  	}
  2633  	return ""
  2634  }
  2635  
  2636  // OrigErr always returns nil, satisfies awserr.Error interface.
  2637  func (s *AccessDeniedException) OrigErr() error {
  2638  	return nil
  2639  }
  2640  
  2641  func (s *AccessDeniedException) Error() string {
  2642  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  2643  }
  2644  
  2645  // Status code returns the HTTP status code for the request's response error.
  2646  func (s *AccessDeniedException) StatusCode() int {
  2647  	return s.RespMetadata.StatusCode
  2648  }
  2649  
  2650  // RequestID returns the service's response RequestID for request.
  2651  func (s *AccessDeniedException) RequestID() string {
  2652  	return s.RespMetadata.RequestID
  2653  }
  2654  
  2655  // Error related to a specific channel, specified by its ARN.
  2656  type BatchError struct {
  2657  	_ struct{} `type:"structure"`
  2658  
  2659  	// Channel ARN.
  2660  	Arn *string `locationName:"arn" min:"1" type:"string"`
  2661  
  2662  	// Error code.
  2663  	Code *string `locationName:"code" type:"string"`
  2664  
  2665  	// Error message, determined by the application.
  2666  	Message *string `locationName:"message" type:"string"`
  2667  }
  2668  
  2669  // String returns the string representation.
  2670  //
  2671  // API parameter values that are decorated as "sensitive" in the API will not
  2672  // be included in the string output. The member name will be present, but the
  2673  // value will be replaced with "sensitive".
  2674  func (s BatchError) String() string {
  2675  	return awsutil.Prettify(s)
  2676  }
  2677  
  2678  // GoString returns the string representation.
  2679  //
  2680  // API parameter values that are decorated as "sensitive" in the API will not
  2681  // be included in the string output. The member name will be present, but the
  2682  // value will be replaced with "sensitive".
  2683  func (s BatchError) GoString() string {
  2684  	return s.String()
  2685  }
  2686  
  2687  // SetArn sets the Arn field's value.
  2688  func (s *BatchError) SetArn(v string) *BatchError {
  2689  	s.Arn = &v
  2690  	return s
  2691  }
  2692  
  2693  // SetCode sets the Code field's value.
  2694  func (s *BatchError) SetCode(v string) *BatchError {
  2695  	s.Code = &v
  2696  	return s
  2697  }
  2698  
  2699  // SetMessage sets the Message field's value.
  2700  func (s *BatchError) SetMessage(v string) *BatchError {
  2701  	s.Message = &v
  2702  	return s
  2703  }
  2704  
  2705  type BatchGetChannelInput struct {
  2706  	_ struct{} `type:"structure"`
  2707  
  2708  	// Array of ARNs, one per channel.
  2709  	//
  2710  	// Arns is a required field
  2711  	Arns []*string `locationName:"arns" min:"1" type:"list" required:"true"`
  2712  }
  2713  
  2714  // String returns the string representation.
  2715  //
  2716  // API parameter values that are decorated as "sensitive" in the API will not
  2717  // be included in the string output. The member name will be present, but the
  2718  // value will be replaced with "sensitive".
  2719  func (s BatchGetChannelInput) String() string {
  2720  	return awsutil.Prettify(s)
  2721  }
  2722  
  2723  // GoString returns the string representation.
  2724  //
  2725  // API parameter values that are decorated as "sensitive" in the API will not
  2726  // be included in the string output. The member name will be present, but the
  2727  // value will be replaced with "sensitive".
  2728  func (s BatchGetChannelInput) GoString() string {
  2729  	return s.String()
  2730  }
  2731  
  2732  // Validate inspects the fields of the type to determine if they are valid.
  2733  func (s *BatchGetChannelInput) Validate() error {
  2734  	invalidParams := request.ErrInvalidParams{Context: "BatchGetChannelInput"}
  2735  	if s.Arns == nil {
  2736  		invalidParams.Add(request.NewErrParamRequired("Arns"))
  2737  	}
  2738  	if s.Arns != nil && len(s.Arns) < 1 {
  2739  		invalidParams.Add(request.NewErrParamMinLen("Arns", 1))
  2740  	}
  2741  
  2742  	if invalidParams.Len() > 0 {
  2743  		return invalidParams
  2744  	}
  2745  	return nil
  2746  }
  2747  
  2748  // SetArns sets the Arns field's value.
  2749  func (s *BatchGetChannelInput) SetArns(v []*string) *BatchGetChannelInput {
  2750  	s.Arns = v
  2751  	return s
  2752  }
  2753  
  2754  type BatchGetChannelOutput struct {
  2755  	_ struct{} `type:"structure"`
  2756  
  2757  	Channels []*Channel `locationName:"channels" type:"list"`
  2758  
  2759  	// Each error object is related to a specific ARN in the request.
  2760  	Errors []*BatchError `locationName:"errors" type:"list"`
  2761  }
  2762  
  2763  // String returns the string representation.
  2764  //
  2765  // API parameter values that are decorated as "sensitive" in the API will not
  2766  // be included in the string output. The member name will be present, but the
  2767  // value will be replaced with "sensitive".
  2768  func (s BatchGetChannelOutput) String() string {
  2769  	return awsutil.Prettify(s)
  2770  }
  2771  
  2772  // GoString returns the string representation.
  2773  //
  2774  // API parameter values that are decorated as "sensitive" in the API will not
  2775  // be included in the string output. The member name will be present, but the
  2776  // value will be replaced with "sensitive".
  2777  func (s BatchGetChannelOutput) GoString() string {
  2778  	return s.String()
  2779  }
  2780  
  2781  // SetChannels sets the Channels field's value.
  2782  func (s *BatchGetChannelOutput) SetChannels(v []*Channel) *BatchGetChannelOutput {
  2783  	s.Channels = v
  2784  	return s
  2785  }
  2786  
  2787  // SetErrors sets the Errors field's value.
  2788  func (s *BatchGetChannelOutput) SetErrors(v []*BatchError) *BatchGetChannelOutput {
  2789  	s.Errors = v
  2790  	return s
  2791  }
  2792  
  2793  type BatchGetStreamKeyInput struct {
  2794  	_ struct{} `type:"structure"`
  2795  
  2796  	// Array of ARNs, one per channel.
  2797  	//
  2798  	// Arns is a required field
  2799  	Arns []*string `locationName:"arns" min:"1" type:"list" required:"true"`
  2800  }
  2801  
  2802  // String returns the string representation.
  2803  //
  2804  // API parameter values that are decorated as "sensitive" in the API will not
  2805  // be included in the string output. The member name will be present, but the
  2806  // value will be replaced with "sensitive".
  2807  func (s BatchGetStreamKeyInput) String() string {
  2808  	return awsutil.Prettify(s)
  2809  }
  2810  
  2811  // GoString returns the string representation.
  2812  //
  2813  // API parameter values that are decorated as "sensitive" in the API will not
  2814  // be included in the string output. The member name will be present, but the
  2815  // value will be replaced with "sensitive".
  2816  func (s BatchGetStreamKeyInput) GoString() string {
  2817  	return s.String()
  2818  }
  2819  
  2820  // Validate inspects the fields of the type to determine if they are valid.
  2821  func (s *BatchGetStreamKeyInput) Validate() error {
  2822  	invalidParams := request.ErrInvalidParams{Context: "BatchGetStreamKeyInput"}
  2823  	if s.Arns == nil {
  2824  		invalidParams.Add(request.NewErrParamRequired("Arns"))
  2825  	}
  2826  	if s.Arns != nil && len(s.Arns) < 1 {
  2827  		invalidParams.Add(request.NewErrParamMinLen("Arns", 1))
  2828  	}
  2829  
  2830  	if invalidParams.Len() > 0 {
  2831  		return invalidParams
  2832  	}
  2833  	return nil
  2834  }
  2835  
  2836  // SetArns sets the Arns field's value.
  2837  func (s *BatchGetStreamKeyInput) SetArns(v []*string) *BatchGetStreamKeyInput {
  2838  	s.Arns = v
  2839  	return s
  2840  }
  2841  
  2842  type BatchGetStreamKeyOutput struct {
  2843  	_ struct{} `type:"structure"`
  2844  
  2845  	Errors []*BatchError `locationName:"errors" type:"list"`
  2846  
  2847  	StreamKeys []*StreamKey `locationName:"streamKeys" type:"list"`
  2848  }
  2849  
  2850  // String returns the string representation.
  2851  //
  2852  // API parameter values that are decorated as "sensitive" in the API will not
  2853  // be included in the string output. The member name will be present, but the
  2854  // value will be replaced with "sensitive".
  2855  func (s BatchGetStreamKeyOutput) String() string {
  2856  	return awsutil.Prettify(s)
  2857  }
  2858  
  2859  // GoString returns the string representation.
  2860  //
  2861  // API parameter values that are decorated as "sensitive" in the API will not
  2862  // be included in the string output. The member name will be present, but the
  2863  // value will be replaced with "sensitive".
  2864  func (s BatchGetStreamKeyOutput) GoString() string {
  2865  	return s.String()
  2866  }
  2867  
  2868  // SetErrors sets the Errors field's value.
  2869  func (s *BatchGetStreamKeyOutput) SetErrors(v []*BatchError) *BatchGetStreamKeyOutput {
  2870  	s.Errors = v
  2871  	return s
  2872  }
  2873  
  2874  // SetStreamKeys sets the StreamKeys field's value.
  2875  func (s *BatchGetStreamKeyOutput) SetStreamKeys(v []*StreamKey) *BatchGetStreamKeyOutput {
  2876  	s.StreamKeys = v
  2877  	return s
  2878  }
  2879  
  2880  // Object specifying a channel.
  2881  type Channel struct {
  2882  	_ struct{} `type:"structure"`
  2883  
  2884  	// Channel ARN.
  2885  	Arn *string `locationName:"arn" min:"1" type:"string"`
  2886  
  2887  	// Whether the channel is private (enabled for playback authorization). Default:
  2888  	// false.
  2889  	Authorized *bool `locationName:"authorized" type:"boolean"`
  2890  
  2891  	// Channel ingest endpoint, part of the definition of an ingest server, used
  2892  	// when you set up streaming software.
  2893  	IngestEndpoint *string `locationName:"ingestEndpoint" type:"string"`
  2894  
  2895  	// Channel latency mode. Use NORMAL to broadcast and deliver live video up to
  2896  	// Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW.
  2897  	// (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low
  2898  	// and Standard, respectively.)
  2899  	LatencyMode *string `locationName:"latencyMode" type:"string" enum:"ChannelLatencyMode"`
  2900  
  2901  	// Channel name.
  2902  	Name *string `locationName:"name" type:"string"`
  2903  
  2904  	// Channel playback URL.
  2905  	PlaybackUrl *string `locationName:"playbackUrl" type:"string"`
  2906  
  2907  	// Recording-configuration ARN. A value other than an empty string indicates
  2908  	// that recording is enabled. Default: "" (empty string, recording is disabled).
  2909  	RecordingConfigurationArn *string `locationName:"recordingConfigurationArn" type:"string"`
  2910  
  2911  	// Array of 1-50 maps, each of the form string:string (key:value).
  2912  	Tags map[string]*string `locationName:"tags" type:"map"`
  2913  
  2914  	// Channel type, which determines the allowable resolution and bitrate. If you
  2915  	// exceed the allowable resolution or bitrate, the stream probably will disconnect
  2916  	// immediately. Default: STANDARD. Valid values:
  2917  	//
  2918  	//    * STANDARD: Multiple qualities are generated from the original input,
  2919  	//    to automatically give viewers the best experience for their devices and
  2920  	//    network conditions. Vertical resolution can be up to 1080 and bitrate
  2921  	//    can be up to 8.5 Mbps.
  2922  	//
  2923  	//    * BASIC: Amazon IVS delivers the original input to viewers. The viewer’s
  2924  	//    video-quality choice is limited to the original input. Vertical resolution
  2925  	//    can be up to 480 and bitrate can be up to 1.5 Mbps.
  2926  	Type *string `locationName:"type" type:"string" enum:"ChannelType"`
  2927  }
  2928  
  2929  // String returns the string representation.
  2930  //
  2931  // API parameter values that are decorated as "sensitive" in the API will not
  2932  // be included in the string output. The member name will be present, but the
  2933  // value will be replaced with "sensitive".
  2934  func (s Channel) String() string {
  2935  	return awsutil.Prettify(s)
  2936  }
  2937  
  2938  // GoString returns the string representation.
  2939  //
  2940  // API parameter values that are decorated as "sensitive" in the API will not
  2941  // be included in the string output. The member name will be present, but the
  2942  // value will be replaced with "sensitive".
  2943  func (s Channel) GoString() string {
  2944  	return s.String()
  2945  }
  2946  
  2947  // SetArn sets the Arn field's value.
  2948  func (s *Channel) SetArn(v string) *Channel {
  2949  	s.Arn = &v
  2950  	return s
  2951  }
  2952  
  2953  // SetAuthorized sets the Authorized field's value.
  2954  func (s *Channel) SetAuthorized(v bool) *Channel {
  2955  	s.Authorized = &v
  2956  	return s
  2957  }
  2958  
  2959  // SetIngestEndpoint sets the IngestEndpoint field's value.
  2960  func (s *Channel) SetIngestEndpoint(v string) *Channel {
  2961  	s.IngestEndpoint = &v
  2962  	return s
  2963  }
  2964  
  2965  // SetLatencyMode sets the LatencyMode field's value.
  2966  func (s *Channel) SetLatencyMode(v string) *Channel {
  2967  	s.LatencyMode = &v
  2968  	return s
  2969  }
  2970  
  2971  // SetName sets the Name field's value.
  2972  func (s *Channel) SetName(v string) *Channel {
  2973  	s.Name = &v
  2974  	return s
  2975  }
  2976  
  2977  // SetPlaybackUrl sets the PlaybackUrl field's value.
  2978  func (s *Channel) SetPlaybackUrl(v string) *Channel {
  2979  	s.PlaybackUrl = &v
  2980  	return s
  2981  }
  2982  
  2983  // SetRecordingConfigurationArn sets the RecordingConfigurationArn field's value.
  2984  func (s *Channel) SetRecordingConfigurationArn(v string) *Channel {
  2985  	s.RecordingConfigurationArn = &v
  2986  	return s
  2987  }
  2988  
  2989  // SetTags sets the Tags field's value.
  2990  func (s *Channel) SetTags(v map[string]*string) *Channel {
  2991  	s.Tags = v
  2992  	return s
  2993  }
  2994  
  2995  // SetType sets the Type field's value.
  2996  func (s *Channel) SetType(v string) *Channel {
  2997  	s.Type = &v
  2998  	return s
  2999  }
  3000  
  3001  type ChannelNotBroadcasting struct {
  3002  	_            struct{}                  `type:"structure"`
  3003  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3004  
  3005  	// The stream is offline for the given channel ARN.
  3006  	ExceptionMessage *string `locationName:"exceptionMessage" type:"string"`
  3007  
  3008  	Message_ *string `locationName:"message" type:"string"`
  3009  }
  3010  
  3011  // String returns the string representation.
  3012  //
  3013  // API parameter values that are decorated as "sensitive" in the API will not
  3014  // be included in the string output. The member name will be present, but the
  3015  // value will be replaced with "sensitive".
  3016  func (s ChannelNotBroadcasting) String() string {
  3017  	return awsutil.Prettify(s)
  3018  }
  3019  
  3020  // GoString returns the string representation.
  3021  //
  3022  // API parameter values that are decorated as "sensitive" in the API will not
  3023  // be included in the string output. The member name will be present, but the
  3024  // value will be replaced with "sensitive".
  3025  func (s ChannelNotBroadcasting) GoString() string {
  3026  	return s.String()
  3027  }
  3028  
  3029  func newErrorChannelNotBroadcasting(v protocol.ResponseMetadata) error {
  3030  	return &ChannelNotBroadcasting{
  3031  		RespMetadata: v,
  3032  	}
  3033  }
  3034  
  3035  // Code returns the exception type name.
  3036  func (s *ChannelNotBroadcasting) Code() string {
  3037  	return "ChannelNotBroadcasting"
  3038  }
  3039  
  3040  // Message returns the exception's message.
  3041  func (s *ChannelNotBroadcasting) Message() string {
  3042  	if s.Message_ != nil {
  3043  		return *s.Message_
  3044  	}
  3045  	return ""
  3046  }
  3047  
  3048  // OrigErr always returns nil, satisfies awserr.Error interface.
  3049  func (s *ChannelNotBroadcasting) OrigErr() error {
  3050  	return nil
  3051  }
  3052  
  3053  func (s *ChannelNotBroadcasting) Error() string {
  3054  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3055  }
  3056  
  3057  // Status code returns the HTTP status code for the request's response error.
  3058  func (s *ChannelNotBroadcasting) StatusCode() int {
  3059  	return s.RespMetadata.StatusCode
  3060  }
  3061  
  3062  // RequestID returns the service's response RequestID for request.
  3063  func (s *ChannelNotBroadcasting) RequestID() string {
  3064  	return s.RespMetadata.RequestID
  3065  }
  3066  
  3067  // Summary information about a channel.
  3068  type ChannelSummary struct {
  3069  	_ struct{} `type:"structure"`
  3070  
  3071  	// Channel ARN.
  3072  	Arn *string `locationName:"arn" min:"1" type:"string"`
  3073  
  3074  	// Whether the channel is private (enabled for playback authorization). Default:
  3075  	// false.
  3076  	Authorized *bool `locationName:"authorized" type:"boolean"`
  3077  
  3078  	// Channel latency mode. Use NORMAL to broadcast and deliver live video up to
  3079  	// Full HD. Use LOW for near-real-time interaction with viewers. Default: LOW.
  3080  	// (Note: In the Amazon IVS console, LOW and NORMAL correspond to Ultra-low
  3081  	// and Standard, respectively.)
  3082  	LatencyMode *string `locationName:"latencyMode" type:"string" enum:"ChannelLatencyMode"`
  3083  
  3084  	// Channel name.
  3085  	Name *string `locationName:"name" type:"string"`
  3086  
  3087  	// Recording-configuration ARN. A value other than an empty string indicates
  3088  	// that recording is enabled. Default: "" (empty string, recording is disabled).
  3089  	RecordingConfigurationArn *string `locationName:"recordingConfigurationArn" type:"string"`
  3090  
  3091  	// Array of 1-50 maps, each of the form string:string (key:value).
  3092  	Tags map[string]*string `locationName:"tags" type:"map"`
  3093  }
  3094  
  3095  // String returns the string representation.
  3096  //
  3097  // API parameter values that are decorated as "sensitive" in the API will not
  3098  // be included in the string output. The member name will be present, but the
  3099  // value will be replaced with "sensitive".
  3100  func (s ChannelSummary) String() string {
  3101  	return awsutil.Prettify(s)
  3102  }
  3103  
  3104  // GoString returns the string representation.
  3105  //
  3106  // API parameter values that are decorated as "sensitive" in the API will not
  3107  // be included in the string output. The member name will be present, but the
  3108  // value will be replaced with "sensitive".
  3109  func (s ChannelSummary) GoString() string {
  3110  	return s.String()
  3111  }
  3112  
  3113  // SetArn sets the Arn field's value.
  3114  func (s *ChannelSummary) SetArn(v string) *ChannelSummary {
  3115  	s.Arn = &v
  3116  	return s
  3117  }
  3118  
  3119  // SetAuthorized sets the Authorized field's value.
  3120  func (s *ChannelSummary) SetAuthorized(v bool) *ChannelSummary {
  3121  	s.Authorized = &v
  3122  	return s
  3123  }
  3124  
  3125  // SetLatencyMode sets the LatencyMode field's value.
  3126  func (s *ChannelSummary) SetLatencyMode(v string) *ChannelSummary {
  3127  	s.LatencyMode = &v
  3128  	return s
  3129  }
  3130  
  3131  // SetName sets the Name field's value.
  3132  func (s *ChannelSummary) SetName(v string) *ChannelSummary {
  3133  	s.Name = &v
  3134  	return s
  3135  }
  3136  
  3137  // SetRecordingConfigurationArn sets the RecordingConfigurationArn field's value.
  3138  func (s *ChannelSummary) SetRecordingConfigurationArn(v string) *ChannelSummary {
  3139  	s.RecordingConfigurationArn = &v
  3140  	return s
  3141  }
  3142  
  3143  // SetTags sets the Tags field's value.
  3144  func (s *ChannelSummary) SetTags(v map[string]*string) *ChannelSummary {
  3145  	s.Tags = v
  3146  	return s
  3147  }
  3148  
  3149  type ConflictException struct {
  3150  	_            struct{}                  `type:"structure"`
  3151  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3152  
  3153  	// Updating or deleting a resource can cause an inconsistent state.
  3154  	ExceptionMessage *string `locationName:"exceptionMessage" type:"string"`
  3155  
  3156  	Message_ *string `locationName:"message" type:"string"`
  3157  }
  3158  
  3159  // String returns the string representation.
  3160  //
  3161  // API parameter values that are decorated as "sensitive" in the API will not
  3162  // be included in the string output. The member name will be present, but the
  3163  // value will be replaced with "sensitive".
  3164  func (s ConflictException) String() string {
  3165  	return awsutil.Prettify(s)
  3166  }
  3167  
  3168  // GoString returns the string representation.
  3169  //
  3170  // API parameter values that are decorated as "sensitive" in the API will not
  3171  // be included in the string output. The member name will be present, but the
  3172  // value will be replaced with "sensitive".
  3173  func (s ConflictException) GoString() string {
  3174  	return s.String()
  3175  }
  3176  
  3177  func newErrorConflictException(v protocol.ResponseMetadata) error {
  3178  	return &ConflictException{
  3179  		RespMetadata: v,
  3180  	}
  3181  }
  3182  
  3183  // Code returns the exception type name.
  3184  func (s *ConflictException) Code() string {
  3185  	return "ConflictException"
  3186  }
  3187  
  3188  // Message returns the exception's message.
  3189  func (s *ConflictException) Message() string {
  3190  	if s.Message_ != nil {
  3191  		return *s.Message_
  3192  	}
  3193  	return ""
  3194  }
  3195  
  3196  // OrigErr always returns nil, satisfies awserr.Error interface.
  3197  func (s *ConflictException) OrigErr() error {
  3198  	return nil
  3199  }
  3200  
  3201  func (s *ConflictException) Error() string {
  3202  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3203  }
  3204  
  3205  // Status code returns the HTTP status code for the request's response error.
  3206  func (s *ConflictException) StatusCode() int {
  3207  	return s.RespMetadata.StatusCode
  3208  }
  3209  
  3210  // RequestID returns the service's response RequestID for request.
  3211  func (s *ConflictException) RequestID() string {
  3212  	return s.RespMetadata.RequestID
  3213  }
  3214  
  3215  type CreateChannelInput struct {
  3216  	_ struct{} `type:"structure"`
  3217  
  3218  	// Whether the channel is private (enabled for playback authorization). Default:
  3219  	// false.
  3220  	Authorized *bool `locationName:"authorized" type:"boolean"`
  3221  
  3222  	// Channel latency mode. Use NORMAL to broadcast and deliver live video up to
  3223  	// Full HD. Use LOW for near-real-time interaction with viewers. (Note: In the
  3224  	// Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard,
  3225  	// respectively.) Default: LOW.
  3226  	LatencyMode *string `locationName:"latencyMode" type:"string" enum:"ChannelLatencyMode"`
  3227  
  3228  	// Channel name.
  3229  	Name *string `locationName:"name" type:"string"`
  3230  
  3231  	// Recording-configuration ARN. Default: "" (empty string, recording is disabled).
  3232  	RecordingConfigurationArn *string `locationName:"recordingConfigurationArn" type:"string"`
  3233  
  3234  	// Array of 1-50 maps, each of the form string:string (key:value).
  3235  	Tags map[string]*string `locationName:"tags" type:"map"`
  3236  
  3237  	// Channel type, which determines the allowable resolution and bitrate. If you
  3238  	// exceed the allowable resolution or bitrate, the stream probably will disconnect
  3239  	// immediately. Default: STANDARD. Valid values:
  3240  	//
  3241  	//    * STANDARD: Multiple qualities are generated from the original input,
  3242  	//    to automatically give viewers the best experience for their devices and
  3243  	//    network conditions. Vertical resolution can be up to 1080 and bitrate
  3244  	//    can be up to 8.5 Mbps.
  3245  	//
  3246  	//    * BASIC: Amazon IVS delivers the original input to viewers. The viewer’s
  3247  	//    video-quality choice is limited to the original input. Vertical resolution
  3248  	//    can be up to 480 and bitrate can be up to 1.5 Mbps.
  3249  	Type *string `locationName:"type" type:"string" enum:"ChannelType"`
  3250  }
  3251  
  3252  // String returns the string representation.
  3253  //
  3254  // API parameter values that are decorated as "sensitive" in the API will not
  3255  // be included in the string output. The member name will be present, but the
  3256  // value will be replaced with "sensitive".
  3257  func (s CreateChannelInput) String() string {
  3258  	return awsutil.Prettify(s)
  3259  }
  3260  
  3261  // GoString returns the string representation.
  3262  //
  3263  // API parameter values that are decorated as "sensitive" in the API will not
  3264  // be included in the string output. The member name will be present, but the
  3265  // value will be replaced with "sensitive".
  3266  func (s CreateChannelInput) GoString() string {
  3267  	return s.String()
  3268  }
  3269  
  3270  // SetAuthorized sets the Authorized field's value.
  3271  func (s *CreateChannelInput) SetAuthorized(v bool) *CreateChannelInput {
  3272  	s.Authorized = &v
  3273  	return s
  3274  }
  3275  
  3276  // SetLatencyMode sets the LatencyMode field's value.
  3277  func (s *CreateChannelInput) SetLatencyMode(v string) *CreateChannelInput {
  3278  	s.LatencyMode = &v
  3279  	return s
  3280  }
  3281  
  3282  // SetName sets the Name field's value.
  3283  func (s *CreateChannelInput) SetName(v string) *CreateChannelInput {
  3284  	s.Name = &v
  3285  	return s
  3286  }
  3287  
  3288  // SetRecordingConfigurationArn sets the RecordingConfigurationArn field's value.
  3289  func (s *CreateChannelInput) SetRecordingConfigurationArn(v string) *CreateChannelInput {
  3290  	s.RecordingConfigurationArn = &v
  3291  	return s
  3292  }
  3293  
  3294  // SetTags sets the Tags field's value.
  3295  func (s *CreateChannelInput) SetTags(v map[string]*string) *CreateChannelInput {
  3296  	s.Tags = v
  3297  	return s
  3298  }
  3299  
  3300  // SetType sets the Type field's value.
  3301  func (s *CreateChannelInput) SetType(v string) *CreateChannelInput {
  3302  	s.Type = &v
  3303  	return s
  3304  }
  3305  
  3306  type CreateChannelOutput struct {
  3307  	_ struct{} `type:"structure"`
  3308  
  3309  	// Object specifying a channel.
  3310  	Channel *Channel `locationName:"channel" type:"structure"`
  3311  
  3312  	// Object specifying a stream key.
  3313  	StreamKey *StreamKey `locationName:"streamKey" type:"structure"`
  3314  }
  3315  
  3316  // String returns the string representation.
  3317  //
  3318  // API parameter values that are decorated as "sensitive" in the API will not
  3319  // be included in the string output. The member name will be present, but the
  3320  // value will be replaced with "sensitive".
  3321  func (s CreateChannelOutput) String() string {
  3322  	return awsutil.Prettify(s)
  3323  }
  3324  
  3325  // GoString returns the string representation.
  3326  //
  3327  // API parameter values that are decorated as "sensitive" in the API will not
  3328  // be included in the string output. The member name will be present, but the
  3329  // value will be replaced with "sensitive".
  3330  func (s CreateChannelOutput) GoString() string {
  3331  	return s.String()
  3332  }
  3333  
  3334  // SetChannel sets the Channel field's value.
  3335  func (s *CreateChannelOutput) SetChannel(v *Channel) *CreateChannelOutput {
  3336  	s.Channel = v
  3337  	return s
  3338  }
  3339  
  3340  // SetStreamKey sets the StreamKey field's value.
  3341  func (s *CreateChannelOutput) SetStreamKey(v *StreamKey) *CreateChannelOutput {
  3342  	s.StreamKey = v
  3343  	return s
  3344  }
  3345  
  3346  type CreateRecordingConfigurationInput struct {
  3347  	_ struct{} `type:"structure"`
  3348  
  3349  	// A complex type that contains a destination configuration for where recorded
  3350  	// video will be stored.
  3351  	//
  3352  	// DestinationConfiguration is a required field
  3353  	DestinationConfiguration *DestinationConfiguration `locationName:"destinationConfiguration" type:"structure" required:"true"`
  3354  
  3355  	// An arbitrary string (a nickname) that helps the customer identify that resource.
  3356  	// The value does not need to be unique.
  3357  	Name *string `locationName:"name" type:"string"`
  3358  
  3359  	// Array of 1-50 maps, each of the form string:string (key:value).
  3360  	Tags map[string]*string `locationName:"tags" type:"map"`
  3361  }
  3362  
  3363  // String returns the string representation.
  3364  //
  3365  // API parameter values that are decorated as "sensitive" in the API will not
  3366  // be included in the string output. The member name will be present, but the
  3367  // value will be replaced with "sensitive".
  3368  func (s CreateRecordingConfigurationInput) String() string {
  3369  	return awsutil.Prettify(s)
  3370  }
  3371  
  3372  // GoString returns the string representation.
  3373  //
  3374  // API parameter values that are decorated as "sensitive" in the API will not
  3375  // be included in the string output. The member name will be present, but the
  3376  // value will be replaced with "sensitive".
  3377  func (s CreateRecordingConfigurationInput) GoString() string {
  3378  	return s.String()
  3379  }
  3380  
  3381  // Validate inspects the fields of the type to determine if they are valid.
  3382  func (s *CreateRecordingConfigurationInput) Validate() error {
  3383  	invalidParams := request.ErrInvalidParams{Context: "CreateRecordingConfigurationInput"}
  3384  	if s.DestinationConfiguration == nil {
  3385  		invalidParams.Add(request.NewErrParamRequired("DestinationConfiguration"))
  3386  	}
  3387  	if s.DestinationConfiguration != nil {
  3388  		if err := s.DestinationConfiguration.Validate(); err != nil {
  3389  			invalidParams.AddNested("DestinationConfiguration", err.(request.ErrInvalidParams))
  3390  		}
  3391  	}
  3392  
  3393  	if invalidParams.Len() > 0 {
  3394  		return invalidParams
  3395  	}
  3396  	return nil
  3397  }
  3398  
  3399  // SetDestinationConfiguration sets the DestinationConfiguration field's value.
  3400  func (s *CreateRecordingConfigurationInput) SetDestinationConfiguration(v *DestinationConfiguration) *CreateRecordingConfigurationInput {
  3401  	s.DestinationConfiguration = v
  3402  	return s
  3403  }
  3404  
  3405  // SetName sets the Name field's value.
  3406  func (s *CreateRecordingConfigurationInput) SetName(v string) *CreateRecordingConfigurationInput {
  3407  	s.Name = &v
  3408  	return s
  3409  }
  3410  
  3411  // SetTags sets the Tags field's value.
  3412  func (s *CreateRecordingConfigurationInput) SetTags(v map[string]*string) *CreateRecordingConfigurationInput {
  3413  	s.Tags = v
  3414  	return s
  3415  }
  3416  
  3417  type CreateRecordingConfigurationOutput struct {
  3418  	_ struct{} `type:"structure"`
  3419  
  3420  	// An object representing a configuration to record a channel stream.
  3421  	RecordingConfiguration *RecordingConfiguration `locationName:"recordingConfiguration" type:"structure"`
  3422  }
  3423  
  3424  // String returns the string representation.
  3425  //
  3426  // API parameter values that are decorated as "sensitive" in the API will not
  3427  // be included in the string output. The member name will be present, but the
  3428  // value will be replaced with "sensitive".
  3429  func (s CreateRecordingConfigurationOutput) String() string {
  3430  	return awsutil.Prettify(s)
  3431  }
  3432  
  3433  // GoString returns the string representation.
  3434  //
  3435  // API parameter values that are decorated as "sensitive" in the API will not
  3436  // be included in the string output. The member name will be present, but the
  3437  // value will be replaced with "sensitive".
  3438  func (s CreateRecordingConfigurationOutput) GoString() string {
  3439  	return s.String()
  3440  }
  3441  
  3442  // SetRecordingConfiguration sets the RecordingConfiguration field's value.
  3443  func (s *CreateRecordingConfigurationOutput) SetRecordingConfiguration(v *RecordingConfiguration) *CreateRecordingConfigurationOutput {
  3444  	s.RecordingConfiguration = v
  3445  	return s
  3446  }
  3447  
  3448  type CreateStreamKeyInput struct {
  3449  	_ struct{} `type:"structure"`
  3450  
  3451  	// ARN of the channel for which to create the stream key.
  3452  	//
  3453  	// ChannelArn is a required field
  3454  	ChannelArn *string `locationName:"channelArn" min:"1" type:"string" required:"true"`
  3455  
  3456  	// Array of 1-50 maps, each of the form string:string (key:value).
  3457  	Tags map[string]*string `locationName:"tags" type:"map"`
  3458  }
  3459  
  3460  // String returns the string representation.
  3461  //
  3462  // API parameter values that are decorated as "sensitive" in the API will not
  3463  // be included in the string output. The member name will be present, but the
  3464  // value will be replaced with "sensitive".
  3465  func (s CreateStreamKeyInput) String() string {
  3466  	return awsutil.Prettify(s)
  3467  }
  3468  
  3469  // GoString returns the string representation.
  3470  //
  3471  // API parameter values that are decorated as "sensitive" in the API will not
  3472  // be included in the string output. The member name will be present, but the
  3473  // value will be replaced with "sensitive".
  3474  func (s CreateStreamKeyInput) GoString() string {
  3475  	return s.String()
  3476  }
  3477  
  3478  // Validate inspects the fields of the type to determine if they are valid.
  3479  func (s *CreateStreamKeyInput) Validate() error {
  3480  	invalidParams := request.ErrInvalidParams{Context: "CreateStreamKeyInput"}
  3481  	if s.ChannelArn == nil {
  3482  		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
  3483  	}
  3484  	if s.ChannelArn != nil && len(*s.ChannelArn) < 1 {
  3485  		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 1))
  3486  	}
  3487  
  3488  	if invalidParams.Len() > 0 {
  3489  		return invalidParams
  3490  	}
  3491  	return nil
  3492  }
  3493  
  3494  // SetChannelArn sets the ChannelArn field's value.
  3495  func (s *CreateStreamKeyInput) SetChannelArn(v string) *CreateStreamKeyInput {
  3496  	s.ChannelArn = &v
  3497  	return s
  3498  }
  3499  
  3500  // SetTags sets the Tags field's value.
  3501  func (s *CreateStreamKeyInput) SetTags(v map[string]*string) *CreateStreamKeyInput {
  3502  	s.Tags = v
  3503  	return s
  3504  }
  3505  
  3506  type CreateStreamKeyOutput struct {
  3507  	_ struct{} `type:"structure"`
  3508  
  3509  	// Stream key used to authenticate an RTMPS stream for ingestion.
  3510  	StreamKey *StreamKey `locationName:"streamKey" type:"structure"`
  3511  }
  3512  
  3513  // String returns the string representation.
  3514  //
  3515  // API parameter values that are decorated as "sensitive" in the API will not
  3516  // be included in the string output. The member name will be present, but the
  3517  // value will be replaced with "sensitive".
  3518  func (s CreateStreamKeyOutput) String() string {
  3519  	return awsutil.Prettify(s)
  3520  }
  3521  
  3522  // GoString returns the string representation.
  3523  //
  3524  // API parameter values that are decorated as "sensitive" in the API will not
  3525  // be included in the string output. The member name will be present, but the
  3526  // value will be replaced with "sensitive".
  3527  func (s CreateStreamKeyOutput) GoString() string {
  3528  	return s.String()
  3529  }
  3530  
  3531  // SetStreamKey sets the StreamKey field's value.
  3532  func (s *CreateStreamKeyOutput) SetStreamKey(v *StreamKey) *CreateStreamKeyOutput {
  3533  	s.StreamKey = v
  3534  	return s
  3535  }
  3536  
  3537  type DeleteChannelInput struct {
  3538  	_ struct{} `type:"structure"`
  3539  
  3540  	// ARN of the channel to be deleted.
  3541  	//
  3542  	// Arn is a required field
  3543  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
  3544  }
  3545  
  3546  // String returns the string representation.
  3547  //
  3548  // API parameter values that are decorated as "sensitive" in the API will not
  3549  // be included in the string output. The member name will be present, but the
  3550  // value will be replaced with "sensitive".
  3551  func (s DeleteChannelInput) String() string {
  3552  	return awsutil.Prettify(s)
  3553  }
  3554  
  3555  // GoString returns the string representation.
  3556  //
  3557  // API parameter values that are decorated as "sensitive" in the API will not
  3558  // be included in the string output. The member name will be present, but the
  3559  // value will be replaced with "sensitive".
  3560  func (s DeleteChannelInput) GoString() string {
  3561  	return s.String()
  3562  }
  3563  
  3564  // Validate inspects the fields of the type to determine if they are valid.
  3565  func (s *DeleteChannelInput) Validate() error {
  3566  	invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"}
  3567  	if s.Arn == nil {
  3568  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  3569  	}
  3570  	if s.Arn != nil && len(*s.Arn) < 1 {
  3571  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  3572  	}
  3573  
  3574  	if invalidParams.Len() > 0 {
  3575  		return invalidParams
  3576  	}
  3577  	return nil
  3578  }
  3579  
  3580  // SetArn sets the Arn field's value.
  3581  func (s *DeleteChannelInput) SetArn(v string) *DeleteChannelInput {
  3582  	s.Arn = &v
  3583  	return s
  3584  }
  3585  
  3586  type DeleteChannelOutput struct {
  3587  	_ struct{} `type:"structure" nopayload:"true"`
  3588  }
  3589  
  3590  // String returns the string representation.
  3591  //
  3592  // API parameter values that are decorated as "sensitive" in the API will not
  3593  // be included in the string output. The member name will be present, but the
  3594  // value will be replaced with "sensitive".
  3595  func (s DeleteChannelOutput) String() string {
  3596  	return awsutil.Prettify(s)
  3597  }
  3598  
  3599  // GoString returns the string representation.
  3600  //
  3601  // API parameter values that are decorated as "sensitive" in the API will not
  3602  // be included in the string output. The member name will be present, but the
  3603  // value will be replaced with "sensitive".
  3604  func (s DeleteChannelOutput) GoString() string {
  3605  	return s.String()
  3606  }
  3607  
  3608  type DeletePlaybackKeyPairInput struct {
  3609  	_ struct{} `type:"structure"`
  3610  
  3611  	// ARN of the key pair to be deleted.
  3612  	//
  3613  	// Arn is a required field
  3614  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
  3615  }
  3616  
  3617  // String returns the string representation.
  3618  //
  3619  // API parameter values that are decorated as "sensitive" in the API will not
  3620  // be included in the string output. The member name will be present, but the
  3621  // value will be replaced with "sensitive".
  3622  func (s DeletePlaybackKeyPairInput) String() string {
  3623  	return awsutil.Prettify(s)
  3624  }
  3625  
  3626  // GoString returns the string representation.
  3627  //
  3628  // API parameter values that are decorated as "sensitive" in the API will not
  3629  // be included in the string output. The member name will be present, but the
  3630  // value will be replaced with "sensitive".
  3631  func (s DeletePlaybackKeyPairInput) GoString() string {
  3632  	return s.String()
  3633  }
  3634  
  3635  // Validate inspects the fields of the type to determine if they are valid.
  3636  func (s *DeletePlaybackKeyPairInput) Validate() error {
  3637  	invalidParams := request.ErrInvalidParams{Context: "DeletePlaybackKeyPairInput"}
  3638  	if s.Arn == nil {
  3639  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  3640  	}
  3641  	if s.Arn != nil && len(*s.Arn) < 1 {
  3642  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  3643  	}
  3644  
  3645  	if invalidParams.Len() > 0 {
  3646  		return invalidParams
  3647  	}
  3648  	return nil
  3649  }
  3650  
  3651  // SetArn sets the Arn field's value.
  3652  func (s *DeletePlaybackKeyPairInput) SetArn(v string) *DeletePlaybackKeyPairInput {
  3653  	s.Arn = &v
  3654  	return s
  3655  }
  3656  
  3657  type DeletePlaybackKeyPairOutput struct {
  3658  	_ struct{} `type:"structure" nopayload:"true"`
  3659  }
  3660  
  3661  // String returns the string representation.
  3662  //
  3663  // API parameter values that are decorated as "sensitive" in the API will not
  3664  // be included in the string output. The member name will be present, but the
  3665  // value will be replaced with "sensitive".
  3666  func (s DeletePlaybackKeyPairOutput) String() string {
  3667  	return awsutil.Prettify(s)
  3668  }
  3669  
  3670  // GoString returns the string representation.
  3671  //
  3672  // API parameter values that are decorated as "sensitive" in the API will not
  3673  // be included in the string output. The member name will be present, but the
  3674  // value will be replaced with "sensitive".
  3675  func (s DeletePlaybackKeyPairOutput) GoString() string {
  3676  	return s.String()
  3677  }
  3678  
  3679  type DeleteRecordingConfigurationInput struct {
  3680  	_ struct{} `type:"structure"`
  3681  
  3682  	// ARN of the recording configuration to be deleted.
  3683  	//
  3684  	// Arn is a required field
  3685  	Arn *string `locationName:"arn" type:"string" required:"true"`
  3686  }
  3687  
  3688  // String returns the string representation.
  3689  //
  3690  // API parameter values that are decorated as "sensitive" in the API will not
  3691  // be included in the string output. The member name will be present, but the
  3692  // value will be replaced with "sensitive".
  3693  func (s DeleteRecordingConfigurationInput) String() string {
  3694  	return awsutil.Prettify(s)
  3695  }
  3696  
  3697  // GoString returns the string representation.
  3698  //
  3699  // API parameter values that are decorated as "sensitive" in the API will not
  3700  // be included in the string output. The member name will be present, but the
  3701  // value will be replaced with "sensitive".
  3702  func (s DeleteRecordingConfigurationInput) GoString() string {
  3703  	return s.String()
  3704  }
  3705  
  3706  // Validate inspects the fields of the type to determine if they are valid.
  3707  func (s *DeleteRecordingConfigurationInput) Validate() error {
  3708  	invalidParams := request.ErrInvalidParams{Context: "DeleteRecordingConfigurationInput"}
  3709  	if s.Arn == nil {
  3710  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  3711  	}
  3712  
  3713  	if invalidParams.Len() > 0 {
  3714  		return invalidParams
  3715  	}
  3716  	return nil
  3717  }
  3718  
  3719  // SetArn sets the Arn field's value.
  3720  func (s *DeleteRecordingConfigurationInput) SetArn(v string) *DeleteRecordingConfigurationInput {
  3721  	s.Arn = &v
  3722  	return s
  3723  }
  3724  
  3725  type DeleteRecordingConfigurationOutput struct {
  3726  	_ struct{} `type:"structure" nopayload:"true"`
  3727  }
  3728  
  3729  // String returns the string representation.
  3730  //
  3731  // API parameter values that are decorated as "sensitive" in the API will not
  3732  // be included in the string output. The member name will be present, but the
  3733  // value will be replaced with "sensitive".
  3734  func (s DeleteRecordingConfigurationOutput) String() string {
  3735  	return awsutil.Prettify(s)
  3736  }
  3737  
  3738  // GoString returns the string representation.
  3739  //
  3740  // API parameter values that are decorated as "sensitive" in the API will not
  3741  // be included in the string output. The member name will be present, but the
  3742  // value will be replaced with "sensitive".
  3743  func (s DeleteRecordingConfigurationOutput) GoString() string {
  3744  	return s.String()
  3745  }
  3746  
  3747  type DeleteStreamKeyInput struct {
  3748  	_ struct{} `type:"structure"`
  3749  
  3750  	// ARN of the stream key to be deleted.
  3751  	//
  3752  	// Arn is a required field
  3753  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
  3754  }
  3755  
  3756  // String returns the string representation.
  3757  //
  3758  // API parameter values that are decorated as "sensitive" in the API will not
  3759  // be included in the string output. The member name will be present, but the
  3760  // value will be replaced with "sensitive".
  3761  func (s DeleteStreamKeyInput) String() string {
  3762  	return awsutil.Prettify(s)
  3763  }
  3764  
  3765  // GoString returns the string representation.
  3766  //
  3767  // API parameter values that are decorated as "sensitive" in the API will not
  3768  // be included in the string output. The member name will be present, but the
  3769  // value will be replaced with "sensitive".
  3770  func (s DeleteStreamKeyInput) GoString() string {
  3771  	return s.String()
  3772  }
  3773  
  3774  // Validate inspects the fields of the type to determine if they are valid.
  3775  func (s *DeleteStreamKeyInput) Validate() error {
  3776  	invalidParams := request.ErrInvalidParams{Context: "DeleteStreamKeyInput"}
  3777  	if s.Arn == nil {
  3778  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  3779  	}
  3780  	if s.Arn != nil && len(*s.Arn) < 1 {
  3781  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  3782  	}
  3783  
  3784  	if invalidParams.Len() > 0 {
  3785  		return invalidParams
  3786  	}
  3787  	return nil
  3788  }
  3789  
  3790  // SetArn sets the Arn field's value.
  3791  func (s *DeleteStreamKeyInput) SetArn(v string) *DeleteStreamKeyInput {
  3792  	s.Arn = &v
  3793  	return s
  3794  }
  3795  
  3796  type DeleteStreamKeyOutput struct {
  3797  	_ struct{} `type:"structure" nopayload:"true"`
  3798  }
  3799  
  3800  // String returns the string representation.
  3801  //
  3802  // API parameter values that are decorated as "sensitive" in the API will not
  3803  // be included in the string output. The member name will be present, but the
  3804  // value will be replaced with "sensitive".
  3805  func (s DeleteStreamKeyOutput) String() string {
  3806  	return awsutil.Prettify(s)
  3807  }
  3808  
  3809  // GoString returns the string representation.
  3810  //
  3811  // API parameter values that are decorated as "sensitive" in the API will not
  3812  // be included in the string output. The member name will be present, but the
  3813  // value will be replaced with "sensitive".
  3814  func (s DeleteStreamKeyOutput) GoString() string {
  3815  	return s.String()
  3816  }
  3817  
  3818  // A complex type that describes a location where recorded videos will be stored.
  3819  // Each member represents a type of destination configuration. For recording,
  3820  // you define one and only one type of destination configuration.
  3821  type DestinationConfiguration struct {
  3822  	_ struct{} `type:"structure"`
  3823  
  3824  	// An S3 destination configuration where recorded videos will be stored.
  3825  	S3 *S3DestinationConfiguration `locationName:"s3" type:"structure"`
  3826  }
  3827  
  3828  // String returns the string representation.
  3829  //
  3830  // API parameter values that are decorated as "sensitive" in the API will not
  3831  // be included in the string output. The member name will be present, but the
  3832  // value will be replaced with "sensitive".
  3833  func (s DestinationConfiguration) String() string {
  3834  	return awsutil.Prettify(s)
  3835  }
  3836  
  3837  // GoString returns the string representation.
  3838  //
  3839  // API parameter values that are decorated as "sensitive" in the API will not
  3840  // be included in the string output. The member name will be present, but the
  3841  // value will be replaced with "sensitive".
  3842  func (s DestinationConfiguration) GoString() string {
  3843  	return s.String()
  3844  }
  3845  
  3846  // Validate inspects the fields of the type to determine if they are valid.
  3847  func (s *DestinationConfiguration) Validate() error {
  3848  	invalidParams := request.ErrInvalidParams{Context: "DestinationConfiguration"}
  3849  	if s.S3 != nil {
  3850  		if err := s.S3.Validate(); err != nil {
  3851  			invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
  3852  		}
  3853  	}
  3854  
  3855  	if invalidParams.Len() > 0 {
  3856  		return invalidParams
  3857  	}
  3858  	return nil
  3859  }
  3860  
  3861  // SetS3 sets the S3 field's value.
  3862  func (s *DestinationConfiguration) SetS3(v *S3DestinationConfiguration) *DestinationConfiguration {
  3863  	s.S3 = v
  3864  	return s
  3865  }
  3866  
  3867  type GetChannelInput struct {
  3868  	_ struct{} `type:"structure"`
  3869  
  3870  	// ARN of the channel for which the configuration is to be retrieved.
  3871  	//
  3872  	// Arn is a required field
  3873  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
  3874  }
  3875  
  3876  // String 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 GetChannelInput) String() string {
  3882  	return awsutil.Prettify(s)
  3883  }
  3884  
  3885  // GoString returns the string representation.
  3886  //
  3887  // API parameter values that are decorated as "sensitive" in the API will not
  3888  // be included in the string output. The member name will be present, but the
  3889  // value will be replaced with "sensitive".
  3890  func (s GetChannelInput) GoString() string {
  3891  	return s.String()
  3892  }
  3893  
  3894  // Validate inspects the fields of the type to determine if they are valid.
  3895  func (s *GetChannelInput) Validate() error {
  3896  	invalidParams := request.ErrInvalidParams{Context: "GetChannelInput"}
  3897  	if s.Arn == nil {
  3898  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  3899  	}
  3900  	if s.Arn != nil && len(*s.Arn) < 1 {
  3901  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  3902  	}
  3903  
  3904  	if invalidParams.Len() > 0 {
  3905  		return invalidParams
  3906  	}
  3907  	return nil
  3908  }
  3909  
  3910  // SetArn sets the Arn field's value.
  3911  func (s *GetChannelInput) SetArn(v string) *GetChannelInput {
  3912  	s.Arn = &v
  3913  	return s
  3914  }
  3915  
  3916  type GetChannelOutput struct {
  3917  	_ struct{} `type:"structure"`
  3918  
  3919  	// Object specifying a channel.
  3920  	Channel *Channel `locationName:"channel" type:"structure"`
  3921  }
  3922  
  3923  // String returns the string representation.
  3924  //
  3925  // API parameter values that are decorated as "sensitive" in the API will not
  3926  // be included in the string output. The member name will be present, but the
  3927  // value will be replaced with "sensitive".
  3928  func (s GetChannelOutput) String() string {
  3929  	return awsutil.Prettify(s)
  3930  }
  3931  
  3932  // GoString 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 GetChannelOutput) GoString() string {
  3938  	return s.String()
  3939  }
  3940  
  3941  // SetChannel sets the Channel field's value.
  3942  func (s *GetChannelOutput) SetChannel(v *Channel) *GetChannelOutput {
  3943  	s.Channel = v
  3944  	return s
  3945  }
  3946  
  3947  type GetPlaybackKeyPairInput struct {
  3948  	_ struct{} `type:"structure"`
  3949  
  3950  	// ARN of the key pair to be returned.
  3951  	//
  3952  	// Arn is a required field
  3953  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
  3954  }
  3955  
  3956  // String returns the string representation.
  3957  //
  3958  // API parameter values that are decorated as "sensitive" in the API will not
  3959  // be included in the string output. The member name will be present, but the
  3960  // value will be replaced with "sensitive".
  3961  func (s GetPlaybackKeyPairInput) String() string {
  3962  	return awsutil.Prettify(s)
  3963  }
  3964  
  3965  // GoString returns the string representation.
  3966  //
  3967  // API parameter values that are decorated as "sensitive" in the API will not
  3968  // be included in the string output. The member name will be present, but the
  3969  // value will be replaced with "sensitive".
  3970  func (s GetPlaybackKeyPairInput) GoString() string {
  3971  	return s.String()
  3972  }
  3973  
  3974  // Validate inspects the fields of the type to determine if they are valid.
  3975  func (s *GetPlaybackKeyPairInput) Validate() error {
  3976  	invalidParams := request.ErrInvalidParams{Context: "GetPlaybackKeyPairInput"}
  3977  	if s.Arn == nil {
  3978  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  3979  	}
  3980  	if s.Arn != nil && len(*s.Arn) < 1 {
  3981  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  3982  	}
  3983  
  3984  	if invalidParams.Len() > 0 {
  3985  		return invalidParams
  3986  	}
  3987  	return nil
  3988  }
  3989  
  3990  // SetArn sets the Arn field's value.
  3991  func (s *GetPlaybackKeyPairInput) SetArn(v string) *GetPlaybackKeyPairInput {
  3992  	s.Arn = &v
  3993  	return s
  3994  }
  3995  
  3996  type GetPlaybackKeyPairOutput struct {
  3997  	_ struct{} `type:"structure"`
  3998  
  3999  	// A key pair used to sign and validate a playback authorization token.
  4000  	KeyPair *PlaybackKeyPair `locationName:"keyPair" type:"structure"`
  4001  }
  4002  
  4003  // String returns the string representation.
  4004  //
  4005  // API parameter values that are decorated as "sensitive" in the API will not
  4006  // be included in the string output. The member name will be present, but the
  4007  // value will be replaced with "sensitive".
  4008  func (s GetPlaybackKeyPairOutput) String() string {
  4009  	return awsutil.Prettify(s)
  4010  }
  4011  
  4012  // GoString returns the string representation.
  4013  //
  4014  // API parameter values that are decorated as "sensitive" in the API will not
  4015  // be included in the string output. The member name will be present, but the
  4016  // value will be replaced with "sensitive".
  4017  func (s GetPlaybackKeyPairOutput) GoString() string {
  4018  	return s.String()
  4019  }
  4020  
  4021  // SetKeyPair sets the KeyPair field's value.
  4022  func (s *GetPlaybackKeyPairOutput) SetKeyPair(v *PlaybackKeyPair) *GetPlaybackKeyPairOutput {
  4023  	s.KeyPair = v
  4024  	return s
  4025  }
  4026  
  4027  type GetRecordingConfigurationInput struct {
  4028  	_ struct{} `type:"structure"`
  4029  
  4030  	// ARN of the recording configuration to be retrieved.
  4031  	//
  4032  	// Arn is a required field
  4033  	Arn *string `locationName:"arn" type:"string" required:"true"`
  4034  }
  4035  
  4036  // String returns the string representation.
  4037  //
  4038  // API parameter values that are decorated as "sensitive" in the API will not
  4039  // be included in the string output. The member name will be present, but the
  4040  // value will be replaced with "sensitive".
  4041  func (s GetRecordingConfigurationInput) String() string {
  4042  	return awsutil.Prettify(s)
  4043  }
  4044  
  4045  // GoString returns the string representation.
  4046  //
  4047  // API parameter values that are decorated as "sensitive" in the API will not
  4048  // be included in the string output. The member name will be present, but the
  4049  // value will be replaced with "sensitive".
  4050  func (s GetRecordingConfigurationInput) GoString() string {
  4051  	return s.String()
  4052  }
  4053  
  4054  // Validate inspects the fields of the type to determine if they are valid.
  4055  func (s *GetRecordingConfigurationInput) Validate() error {
  4056  	invalidParams := request.ErrInvalidParams{Context: "GetRecordingConfigurationInput"}
  4057  	if s.Arn == nil {
  4058  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  4059  	}
  4060  
  4061  	if invalidParams.Len() > 0 {
  4062  		return invalidParams
  4063  	}
  4064  	return nil
  4065  }
  4066  
  4067  // SetArn sets the Arn field's value.
  4068  func (s *GetRecordingConfigurationInput) SetArn(v string) *GetRecordingConfigurationInput {
  4069  	s.Arn = &v
  4070  	return s
  4071  }
  4072  
  4073  type GetRecordingConfigurationOutput struct {
  4074  	_ struct{} `type:"structure"`
  4075  
  4076  	// An object representing a configuration to record a channel stream.
  4077  	RecordingConfiguration *RecordingConfiguration `locationName:"recordingConfiguration" type:"structure"`
  4078  }
  4079  
  4080  // String returns the string representation.
  4081  //
  4082  // API parameter values that are decorated as "sensitive" in the API will not
  4083  // be included in the string output. The member name will be present, but the
  4084  // value will be replaced with "sensitive".
  4085  func (s GetRecordingConfigurationOutput) String() string {
  4086  	return awsutil.Prettify(s)
  4087  }
  4088  
  4089  // GoString returns the string representation.
  4090  //
  4091  // API parameter values that are decorated as "sensitive" in the API will not
  4092  // be included in the string output. The member name will be present, but the
  4093  // value will be replaced with "sensitive".
  4094  func (s GetRecordingConfigurationOutput) GoString() string {
  4095  	return s.String()
  4096  }
  4097  
  4098  // SetRecordingConfiguration sets the RecordingConfiguration field's value.
  4099  func (s *GetRecordingConfigurationOutput) SetRecordingConfiguration(v *RecordingConfiguration) *GetRecordingConfigurationOutput {
  4100  	s.RecordingConfiguration = v
  4101  	return s
  4102  }
  4103  
  4104  type GetStreamInput struct {
  4105  	_ struct{} `type:"structure"`
  4106  
  4107  	// Channel ARN for stream to be accessed.
  4108  	//
  4109  	// ChannelArn is a required field
  4110  	ChannelArn *string `locationName:"channelArn" min:"1" type:"string" required:"true"`
  4111  }
  4112  
  4113  // String returns the string representation.
  4114  //
  4115  // API parameter values that are decorated as "sensitive" in the API will not
  4116  // be included in the string output. The member name will be present, but the
  4117  // value will be replaced with "sensitive".
  4118  func (s GetStreamInput) String() string {
  4119  	return awsutil.Prettify(s)
  4120  }
  4121  
  4122  // GoString returns the string representation.
  4123  //
  4124  // API parameter values that are decorated as "sensitive" in the API will not
  4125  // be included in the string output. The member name will be present, but the
  4126  // value will be replaced with "sensitive".
  4127  func (s GetStreamInput) GoString() string {
  4128  	return s.String()
  4129  }
  4130  
  4131  // Validate inspects the fields of the type to determine if they are valid.
  4132  func (s *GetStreamInput) Validate() error {
  4133  	invalidParams := request.ErrInvalidParams{Context: "GetStreamInput"}
  4134  	if s.ChannelArn == nil {
  4135  		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
  4136  	}
  4137  	if s.ChannelArn != nil && len(*s.ChannelArn) < 1 {
  4138  		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 1))
  4139  	}
  4140  
  4141  	if invalidParams.Len() > 0 {
  4142  		return invalidParams
  4143  	}
  4144  	return nil
  4145  }
  4146  
  4147  // SetChannelArn sets the ChannelArn field's value.
  4148  func (s *GetStreamInput) SetChannelArn(v string) *GetStreamInput {
  4149  	s.ChannelArn = &v
  4150  	return s
  4151  }
  4152  
  4153  type GetStreamKeyInput struct {
  4154  	_ struct{} `type:"structure"`
  4155  
  4156  	// ARN for the stream key to be retrieved.
  4157  	//
  4158  	// Arn is a required field
  4159  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
  4160  }
  4161  
  4162  // String returns the string representation.
  4163  //
  4164  // API parameter values that are decorated as "sensitive" in the API will not
  4165  // be included in the string output. The member name will be present, but the
  4166  // value will be replaced with "sensitive".
  4167  func (s GetStreamKeyInput) String() string {
  4168  	return awsutil.Prettify(s)
  4169  }
  4170  
  4171  // GoString returns the string representation.
  4172  //
  4173  // API parameter values that are decorated as "sensitive" in the API will not
  4174  // be included in the string output. The member name will be present, but the
  4175  // value will be replaced with "sensitive".
  4176  func (s GetStreamKeyInput) GoString() string {
  4177  	return s.String()
  4178  }
  4179  
  4180  // Validate inspects the fields of the type to determine if they are valid.
  4181  func (s *GetStreamKeyInput) Validate() error {
  4182  	invalidParams := request.ErrInvalidParams{Context: "GetStreamKeyInput"}
  4183  	if s.Arn == nil {
  4184  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  4185  	}
  4186  	if s.Arn != nil && len(*s.Arn) < 1 {
  4187  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  4188  	}
  4189  
  4190  	if invalidParams.Len() > 0 {
  4191  		return invalidParams
  4192  	}
  4193  	return nil
  4194  }
  4195  
  4196  // SetArn sets the Arn field's value.
  4197  func (s *GetStreamKeyInput) SetArn(v string) *GetStreamKeyInput {
  4198  	s.Arn = &v
  4199  	return s
  4200  }
  4201  
  4202  type GetStreamKeyOutput struct {
  4203  	_ struct{} `type:"structure"`
  4204  
  4205  	// Object specifying a stream key.
  4206  	StreamKey *StreamKey `locationName:"streamKey" type:"structure"`
  4207  }
  4208  
  4209  // String returns the string representation.
  4210  //
  4211  // API parameter values that are decorated as "sensitive" in the API will not
  4212  // be included in the string output. The member name will be present, but the
  4213  // value will be replaced with "sensitive".
  4214  func (s GetStreamKeyOutput) String() string {
  4215  	return awsutil.Prettify(s)
  4216  }
  4217  
  4218  // GoString returns the string representation.
  4219  //
  4220  // API parameter values that are decorated as "sensitive" in the API will not
  4221  // be included in the string output. The member name will be present, but the
  4222  // value will be replaced with "sensitive".
  4223  func (s GetStreamKeyOutput) GoString() string {
  4224  	return s.String()
  4225  }
  4226  
  4227  // SetStreamKey sets the StreamKey field's value.
  4228  func (s *GetStreamKeyOutput) SetStreamKey(v *StreamKey) *GetStreamKeyOutput {
  4229  	s.StreamKey = v
  4230  	return s
  4231  }
  4232  
  4233  type GetStreamOutput struct {
  4234  	_ struct{} `type:"structure"`
  4235  
  4236  	// Specifies a live video stream that has been ingested and distributed.
  4237  	Stream *Stream `locationName:"stream" type:"structure"`
  4238  }
  4239  
  4240  // String returns the string representation.
  4241  //
  4242  // API parameter values that are decorated as "sensitive" in the API will not
  4243  // be included in the string output. The member name will be present, but the
  4244  // value will be replaced with "sensitive".
  4245  func (s GetStreamOutput) String() string {
  4246  	return awsutil.Prettify(s)
  4247  }
  4248  
  4249  // GoString returns the string representation.
  4250  //
  4251  // API parameter values that are decorated as "sensitive" in the API will not
  4252  // be included in the string output. The member name will be present, but the
  4253  // value will be replaced with "sensitive".
  4254  func (s GetStreamOutput) GoString() string {
  4255  	return s.String()
  4256  }
  4257  
  4258  // SetStream sets the Stream field's value.
  4259  func (s *GetStreamOutput) SetStream(v *Stream) *GetStreamOutput {
  4260  	s.Stream = v
  4261  	return s
  4262  }
  4263  
  4264  type ImportPlaybackKeyPairInput struct {
  4265  	_ struct{} `type:"structure"`
  4266  
  4267  	// An arbitrary string (a nickname) assigned to a playback key pair that helps
  4268  	// the customer identify that resource. The value does not need to be unique.
  4269  	Name *string `locationName:"name" type:"string"`
  4270  
  4271  	// The public portion of a customer-generated key pair.
  4272  	//
  4273  	// PublicKeyMaterial is a required field
  4274  	PublicKeyMaterial *string `locationName:"publicKeyMaterial" type:"string" required:"true"`
  4275  
  4276  	// Any tags provided with the request are added to the playback key pair tags.
  4277  	Tags map[string]*string `locationName:"tags" type:"map"`
  4278  }
  4279  
  4280  // String returns the string representation.
  4281  //
  4282  // API parameter values that are decorated as "sensitive" in the API will not
  4283  // be included in the string output. The member name will be present, but the
  4284  // value will be replaced with "sensitive".
  4285  func (s ImportPlaybackKeyPairInput) String() string {
  4286  	return awsutil.Prettify(s)
  4287  }
  4288  
  4289  // GoString returns the string representation.
  4290  //
  4291  // API parameter values that are decorated as "sensitive" in the API will not
  4292  // be included in the string output. The member name will be present, but the
  4293  // value will be replaced with "sensitive".
  4294  func (s ImportPlaybackKeyPairInput) GoString() string {
  4295  	return s.String()
  4296  }
  4297  
  4298  // Validate inspects the fields of the type to determine if they are valid.
  4299  func (s *ImportPlaybackKeyPairInput) Validate() error {
  4300  	invalidParams := request.ErrInvalidParams{Context: "ImportPlaybackKeyPairInput"}
  4301  	if s.PublicKeyMaterial == nil {
  4302  		invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
  4303  	}
  4304  
  4305  	if invalidParams.Len() > 0 {
  4306  		return invalidParams
  4307  	}
  4308  	return nil
  4309  }
  4310  
  4311  // SetName sets the Name field's value.
  4312  func (s *ImportPlaybackKeyPairInput) SetName(v string) *ImportPlaybackKeyPairInput {
  4313  	s.Name = &v
  4314  	return s
  4315  }
  4316  
  4317  // SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
  4318  func (s *ImportPlaybackKeyPairInput) SetPublicKeyMaterial(v string) *ImportPlaybackKeyPairInput {
  4319  	s.PublicKeyMaterial = &v
  4320  	return s
  4321  }
  4322  
  4323  // SetTags sets the Tags field's value.
  4324  func (s *ImportPlaybackKeyPairInput) SetTags(v map[string]*string) *ImportPlaybackKeyPairInput {
  4325  	s.Tags = v
  4326  	return s
  4327  }
  4328  
  4329  type ImportPlaybackKeyPairOutput struct {
  4330  	_ struct{} `type:"structure"`
  4331  
  4332  	// A key pair used to sign and validate a playback authorization token.
  4333  	KeyPair *PlaybackKeyPair `locationName:"keyPair" type:"structure"`
  4334  }
  4335  
  4336  // String returns the string representation.
  4337  //
  4338  // API parameter values that are decorated as "sensitive" in the API will not
  4339  // be included in the string output. The member name will be present, but the
  4340  // value will be replaced with "sensitive".
  4341  func (s ImportPlaybackKeyPairOutput) String() string {
  4342  	return awsutil.Prettify(s)
  4343  }
  4344  
  4345  // GoString returns the string representation.
  4346  //
  4347  // API parameter values that are decorated as "sensitive" in the API will not
  4348  // be included in the string output. The member name will be present, but the
  4349  // value will be replaced with "sensitive".
  4350  func (s ImportPlaybackKeyPairOutput) GoString() string {
  4351  	return s.String()
  4352  }
  4353  
  4354  // SetKeyPair sets the KeyPair field's value.
  4355  func (s *ImportPlaybackKeyPairOutput) SetKeyPair(v *PlaybackKeyPair) *ImportPlaybackKeyPairOutput {
  4356  	s.KeyPair = v
  4357  	return s
  4358  }
  4359  
  4360  type InternalServerException struct {
  4361  	_            struct{}                  `type:"structure"`
  4362  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4363  
  4364  	// Unexpected error during processing of request.
  4365  	ExceptionMessage *string `locationName:"exceptionMessage" type:"string"`
  4366  
  4367  	Message_ *string `locationName:"message" type:"string"`
  4368  }
  4369  
  4370  // String returns the string representation.
  4371  //
  4372  // API parameter values that are decorated as "sensitive" in the API will not
  4373  // be included in the string output. The member name will be present, but the
  4374  // value will be replaced with "sensitive".
  4375  func (s InternalServerException) String() string {
  4376  	return awsutil.Prettify(s)
  4377  }
  4378  
  4379  // GoString returns the string representation.
  4380  //
  4381  // API parameter values that are decorated as "sensitive" in the API will not
  4382  // be included in the string output. The member name will be present, but the
  4383  // value will be replaced with "sensitive".
  4384  func (s InternalServerException) GoString() string {
  4385  	return s.String()
  4386  }
  4387  
  4388  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  4389  	return &InternalServerException{
  4390  		RespMetadata: v,
  4391  	}
  4392  }
  4393  
  4394  // Code returns the exception type name.
  4395  func (s *InternalServerException) Code() string {
  4396  	return "InternalServerException"
  4397  }
  4398  
  4399  // Message returns the exception's message.
  4400  func (s *InternalServerException) Message() string {
  4401  	if s.Message_ != nil {
  4402  		return *s.Message_
  4403  	}
  4404  	return ""
  4405  }
  4406  
  4407  // OrigErr always returns nil, satisfies awserr.Error interface.
  4408  func (s *InternalServerException) OrigErr() error {
  4409  	return nil
  4410  }
  4411  
  4412  func (s *InternalServerException) Error() string {
  4413  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  4414  }
  4415  
  4416  // Status code returns the HTTP status code for the request's response error.
  4417  func (s *InternalServerException) StatusCode() int {
  4418  	return s.RespMetadata.StatusCode
  4419  }
  4420  
  4421  // RequestID returns the service's response RequestID for request.
  4422  func (s *InternalServerException) RequestID() string {
  4423  	return s.RespMetadata.RequestID
  4424  }
  4425  
  4426  type ListChannelsInput struct {
  4427  	_ struct{} `type:"structure"`
  4428  
  4429  	// Filters the channel list to match the specified name.
  4430  	FilterByName *string `locationName:"filterByName" type:"string"`
  4431  
  4432  	// Filters the channel list to match the specified recording-configuration ARN.
  4433  	FilterByRecordingConfigurationArn *string `locationName:"filterByRecordingConfigurationArn" type:"string"`
  4434  
  4435  	// Maximum number of channels to return. Default: 50.
  4436  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  4437  
  4438  	// The first channel to retrieve. This is used for pagination; see the nextToken
  4439  	// response field.
  4440  	NextToken *string `locationName:"nextToken" type:"string"`
  4441  }
  4442  
  4443  // String returns the string representation.
  4444  //
  4445  // API parameter values that are decorated as "sensitive" in the API will not
  4446  // be included in the string output. The member name will be present, but the
  4447  // value will be replaced with "sensitive".
  4448  func (s ListChannelsInput) String() string {
  4449  	return awsutil.Prettify(s)
  4450  }
  4451  
  4452  // GoString returns the string representation.
  4453  //
  4454  // API parameter values that are decorated as "sensitive" in the API will not
  4455  // be included in the string output. The member name will be present, but the
  4456  // value will be replaced with "sensitive".
  4457  func (s ListChannelsInput) GoString() string {
  4458  	return s.String()
  4459  }
  4460  
  4461  // Validate inspects the fields of the type to determine if they are valid.
  4462  func (s *ListChannelsInput) Validate() error {
  4463  	invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"}
  4464  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4465  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4466  	}
  4467  
  4468  	if invalidParams.Len() > 0 {
  4469  		return invalidParams
  4470  	}
  4471  	return nil
  4472  }
  4473  
  4474  // SetFilterByName sets the FilterByName field's value.
  4475  func (s *ListChannelsInput) SetFilterByName(v string) *ListChannelsInput {
  4476  	s.FilterByName = &v
  4477  	return s
  4478  }
  4479  
  4480  // SetFilterByRecordingConfigurationArn sets the FilterByRecordingConfigurationArn field's value.
  4481  func (s *ListChannelsInput) SetFilterByRecordingConfigurationArn(v string) *ListChannelsInput {
  4482  	s.FilterByRecordingConfigurationArn = &v
  4483  	return s
  4484  }
  4485  
  4486  // SetMaxResults sets the MaxResults field's value.
  4487  func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput {
  4488  	s.MaxResults = &v
  4489  	return s
  4490  }
  4491  
  4492  // SetNextToken sets the NextToken field's value.
  4493  func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput {
  4494  	s.NextToken = &v
  4495  	return s
  4496  }
  4497  
  4498  type ListChannelsOutput struct {
  4499  	_ struct{} `type:"structure"`
  4500  
  4501  	// List of the matching channels.
  4502  	//
  4503  	// Channels is a required field
  4504  	Channels []*ChannelSummary `locationName:"channels" type:"list" required:"true"`
  4505  
  4506  	// If there are more channels than maxResults, use nextToken in the request
  4507  	// to get the next set.
  4508  	NextToken *string `locationName:"nextToken" type:"string"`
  4509  }
  4510  
  4511  // String returns the string representation.
  4512  //
  4513  // API parameter values that are decorated as "sensitive" in the API will not
  4514  // be included in the string output. The member name will be present, but the
  4515  // value will be replaced with "sensitive".
  4516  func (s ListChannelsOutput) String() string {
  4517  	return awsutil.Prettify(s)
  4518  }
  4519  
  4520  // GoString returns the string representation.
  4521  //
  4522  // API parameter values that are decorated as "sensitive" in the API will not
  4523  // be included in the string output. The member name will be present, but the
  4524  // value will be replaced with "sensitive".
  4525  func (s ListChannelsOutput) GoString() string {
  4526  	return s.String()
  4527  }
  4528  
  4529  // SetChannels sets the Channels field's value.
  4530  func (s *ListChannelsOutput) SetChannels(v []*ChannelSummary) *ListChannelsOutput {
  4531  	s.Channels = v
  4532  	return s
  4533  }
  4534  
  4535  // SetNextToken sets the NextToken field's value.
  4536  func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput {
  4537  	s.NextToken = &v
  4538  	return s
  4539  }
  4540  
  4541  type ListPlaybackKeyPairsInput struct {
  4542  	_ struct{} `type:"structure"`
  4543  
  4544  	// The first key pair to retrieve. This is used for pagination; see the nextToken
  4545  	// response field. Default: 50.
  4546  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  4547  
  4548  	// Maximum number of key pairs to return.
  4549  	NextToken *string `locationName:"nextToken" type:"string"`
  4550  }
  4551  
  4552  // String returns the string representation.
  4553  //
  4554  // API parameter values that are decorated as "sensitive" in the API will not
  4555  // be included in the string output. The member name will be present, but the
  4556  // value will be replaced with "sensitive".
  4557  func (s ListPlaybackKeyPairsInput) String() string {
  4558  	return awsutil.Prettify(s)
  4559  }
  4560  
  4561  // GoString returns the string representation.
  4562  //
  4563  // API parameter values that are decorated as "sensitive" in the API will not
  4564  // be included in the string output. The member name will be present, but the
  4565  // value will be replaced with "sensitive".
  4566  func (s ListPlaybackKeyPairsInput) GoString() string {
  4567  	return s.String()
  4568  }
  4569  
  4570  // Validate inspects the fields of the type to determine if they are valid.
  4571  func (s *ListPlaybackKeyPairsInput) Validate() error {
  4572  	invalidParams := request.ErrInvalidParams{Context: "ListPlaybackKeyPairsInput"}
  4573  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4574  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4575  	}
  4576  
  4577  	if invalidParams.Len() > 0 {
  4578  		return invalidParams
  4579  	}
  4580  	return nil
  4581  }
  4582  
  4583  // SetMaxResults sets the MaxResults field's value.
  4584  func (s *ListPlaybackKeyPairsInput) SetMaxResults(v int64) *ListPlaybackKeyPairsInput {
  4585  	s.MaxResults = &v
  4586  	return s
  4587  }
  4588  
  4589  // SetNextToken sets the NextToken field's value.
  4590  func (s *ListPlaybackKeyPairsInput) SetNextToken(v string) *ListPlaybackKeyPairsInput {
  4591  	s.NextToken = &v
  4592  	return s
  4593  }
  4594  
  4595  type ListPlaybackKeyPairsOutput struct {
  4596  	_ struct{} `type:"structure"`
  4597  
  4598  	// List of key pairs.
  4599  	//
  4600  	// KeyPairs is a required field
  4601  	KeyPairs []*PlaybackKeyPairSummary `locationName:"keyPairs" type:"list" required:"true"`
  4602  
  4603  	// If there are more key pairs than maxResults, use nextToken in the request
  4604  	// to get the next set.
  4605  	NextToken *string `locationName:"nextToken" type:"string"`
  4606  }
  4607  
  4608  // String returns the string representation.
  4609  //
  4610  // API parameter values that are decorated as "sensitive" in the API will not
  4611  // be included in the string output. The member name will be present, but the
  4612  // value will be replaced with "sensitive".
  4613  func (s ListPlaybackKeyPairsOutput) String() string {
  4614  	return awsutil.Prettify(s)
  4615  }
  4616  
  4617  // GoString returns the string representation.
  4618  //
  4619  // API parameter values that are decorated as "sensitive" in the API will not
  4620  // be included in the string output. The member name will be present, but the
  4621  // value will be replaced with "sensitive".
  4622  func (s ListPlaybackKeyPairsOutput) GoString() string {
  4623  	return s.String()
  4624  }
  4625  
  4626  // SetKeyPairs sets the KeyPairs field's value.
  4627  func (s *ListPlaybackKeyPairsOutput) SetKeyPairs(v []*PlaybackKeyPairSummary) *ListPlaybackKeyPairsOutput {
  4628  	s.KeyPairs = v
  4629  	return s
  4630  }
  4631  
  4632  // SetNextToken sets the NextToken field's value.
  4633  func (s *ListPlaybackKeyPairsOutput) SetNextToken(v string) *ListPlaybackKeyPairsOutput {
  4634  	s.NextToken = &v
  4635  	return s
  4636  }
  4637  
  4638  type ListRecordingConfigurationsInput struct {
  4639  	_ struct{} `type:"structure"`
  4640  
  4641  	// Maximum number of recording configurations to return. Default: 50.
  4642  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  4643  
  4644  	// The first recording configuration to retrieve. This is used for pagination;
  4645  	// see the nextToken response field.
  4646  	NextToken *string `locationName:"nextToken" type:"string"`
  4647  }
  4648  
  4649  // String returns the string representation.
  4650  //
  4651  // API parameter values that are decorated as "sensitive" in the API will not
  4652  // be included in the string output. The member name will be present, but the
  4653  // value will be replaced with "sensitive".
  4654  func (s ListRecordingConfigurationsInput) String() string {
  4655  	return awsutil.Prettify(s)
  4656  }
  4657  
  4658  // GoString returns the string representation.
  4659  //
  4660  // API parameter values that are decorated as "sensitive" in the API will not
  4661  // be included in the string output. The member name will be present, but the
  4662  // value will be replaced with "sensitive".
  4663  func (s ListRecordingConfigurationsInput) GoString() string {
  4664  	return s.String()
  4665  }
  4666  
  4667  // Validate inspects the fields of the type to determine if they are valid.
  4668  func (s *ListRecordingConfigurationsInput) Validate() error {
  4669  	invalidParams := request.ErrInvalidParams{Context: "ListRecordingConfigurationsInput"}
  4670  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4671  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4672  	}
  4673  
  4674  	if invalidParams.Len() > 0 {
  4675  		return invalidParams
  4676  	}
  4677  	return nil
  4678  }
  4679  
  4680  // SetMaxResults sets the MaxResults field's value.
  4681  func (s *ListRecordingConfigurationsInput) SetMaxResults(v int64) *ListRecordingConfigurationsInput {
  4682  	s.MaxResults = &v
  4683  	return s
  4684  }
  4685  
  4686  // SetNextToken sets the NextToken field's value.
  4687  func (s *ListRecordingConfigurationsInput) SetNextToken(v string) *ListRecordingConfigurationsInput {
  4688  	s.NextToken = &v
  4689  	return s
  4690  }
  4691  
  4692  type ListRecordingConfigurationsOutput struct {
  4693  	_ struct{} `type:"structure"`
  4694  
  4695  	// If there are more recording configurations than maxResults, use nextToken
  4696  	// in the request to get the next set.
  4697  	NextToken *string `locationName:"nextToken" type:"string"`
  4698  
  4699  	// List of the matching recording configurations.
  4700  	//
  4701  	// RecordingConfigurations is a required field
  4702  	RecordingConfigurations []*RecordingConfigurationSummary `locationName:"recordingConfigurations" type:"list" required:"true"`
  4703  }
  4704  
  4705  // String returns the string representation.
  4706  //
  4707  // API parameter values that are decorated as "sensitive" in the API will not
  4708  // be included in the string output. The member name will be present, but the
  4709  // value will be replaced with "sensitive".
  4710  func (s ListRecordingConfigurationsOutput) String() string {
  4711  	return awsutil.Prettify(s)
  4712  }
  4713  
  4714  // GoString returns the string representation.
  4715  //
  4716  // API parameter values that are decorated as "sensitive" in the API will not
  4717  // be included in the string output. The member name will be present, but the
  4718  // value will be replaced with "sensitive".
  4719  func (s ListRecordingConfigurationsOutput) GoString() string {
  4720  	return s.String()
  4721  }
  4722  
  4723  // SetNextToken sets the NextToken field's value.
  4724  func (s *ListRecordingConfigurationsOutput) SetNextToken(v string) *ListRecordingConfigurationsOutput {
  4725  	s.NextToken = &v
  4726  	return s
  4727  }
  4728  
  4729  // SetRecordingConfigurations sets the RecordingConfigurations field's value.
  4730  func (s *ListRecordingConfigurationsOutput) SetRecordingConfigurations(v []*RecordingConfigurationSummary) *ListRecordingConfigurationsOutput {
  4731  	s.RecordingConfigurations = v
  4732  	return s
  4733  }
  4734  
  4735  type ListStreamKeysInput struct {
  4736  	_ struct{} `type:"structure"`
  4737  
  4738  	// Channel ARN used to filter the list.
  4739  	//
  4740  	// ChannelArn is a required field
  4741  	ChannelArn *string `locationName:"channelArn" min:"1" type:"string" required:"true"`
  4742  
  4743  	// Maximum number of streamKeys to return. Default: 50.
  4744  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  4745  
  4746  	// The first stream key to retrieve. This is used for pagination; see the nextToken
  4747  	// response field.
  4748  	NextToken *string `locationName:"nextToken" type:"string"`
  4749  }
  4750  
  4751  // String returns the string representation.
  4752  //
  4753  // API parameter values that are decorated as "sensitive" in the API will not
  4754  // be included in the string output. The member name will be present, but the
  4755  // value will be replaced with "sensitive".
  4756  func (s ListStreamKeysInput) String() string {
  4757  	return awsutil.Prettify(s)
  4758  }
  4759  
  4760  // GoString returns the string representation.
  4761  //
  4762  // API parameter values that are decorated as "sensitive" in the API will not
  4763  // be included in the string output. The member name will be present, but the
  4764  // value will be replaced with "sensitive".
  4765  func (s ListStreamKeysInput) GoString() string {
  4766  	return s.String()
  4767  }
  4768  
  4769  // Validate inspects the fields of the type to determine if they are valid.
  4770  func (s *ListStreamKeysInput) Validate() error {
  4771  	invalidParams := request.ErrInvalidParams{Context: "ListStreamKeysInput"}
  4772  	if s.ChannelArn == nil {
  4773  		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
  4774  	}
  4775  	if s.ChannelArn != nil && len(*s.ChannelArn) < 1 {
  4776  		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 1))
  4777  	}
  4778  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4779  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4780  	}
  4781  
  4782  	if invalidParams.Len() > 0 {
  4783  		return invalidParams
  4784  	}
  4785  	return nil
  4786  }
  4787  
  4788  // SetChannelArn sets the ChannelArn field's value.
  4789  func (s *ListStreamKeysInput) SetChannelArn(v string) *ListStreamKeysInput {
  4790  	s.ChannelArn = &v
  4791  	return s
  4792  }
  4793  
  4794  // SetMaxResults sets the MaxResults field's value.
  4795  func (s *ListStreamKeysInput) SetMaxResults(v int64) *ListStreamKeysInput {
  4796  	s.MaxResults = &v
  4797  	return s
  4798  }
  4799  
  4800  // SetNextToken sets the NextToken field's value.
  4801  func (s *ListStreamKeysInput) SetNextToken(v string) *ListStreamKeysInput {
  4802  	s.NextToken = &v
  4803  	return s
  4804  }
  4805  
  4806  type ListStreamKeysOutput struct {
  4807  	_ struct{} `type:"structure"`
  4808  
  4809  	// If there are more stream keys than maxResults, use nextToken in the request
  4810  	// to get the next set.
  4811  	NextToken *string `locationName:"nextToken" type:"string"`
  4812  
  4813  	// List of stream keys.
  4814  	//
  4815  	// StreamKeys is a required field
  4816  	StreamKeys []*StreamKeySummary `locationName:"streamKeys" type:"list" required:"true"`
  4817  }
  4818  
  4819  // String returns the string representation.
  4820  //
  4821  // API parameter values that are decorated as "sensitive" in the API will not
  4822  // be included in the string output. The member name will be present, but the
  4823  // value will be replaced with "sensitive".
  4824  func (s ListStreamKeysOutput) String() string {
  4825  	return awsutil.Prettify(s)
  4826  }
  4827  
  4828  // GoString returns the string representation.
  4829  //
  4830  // API parameter values that are decorated as "sensitive" in the API will not
  4831  // be included in the string output. The member name will be present, but the
  4832  // value will be replaced with "sensitive".
  4833  func (s ListStreamKeysOutput) GoString() string {
  4834  	return s.String()
  4835  }
  4836  
  4837  // SetNextToken sets the NextToken field's value.
  4838  func (s *ListStreamKeysOutput) SetNextToken(v string) *ListStreamKeysOutput {
  4839  	s.NextToken = &v
  4840  	return s
  4841  }
  4842  
  4843  // SetStreamKeys sets the StreamKeys field's value.
  4844  func (s *ListStreamKeysOutput) SetStreamKeys(v []*StreamKeySummary) *ListStreamKeysOutput {
  4845  	s.StreamKeys = v
  4846  	return s
  4847  }
  4848  
  4849  type ListStreamsInput struct {
  4850  	_ struct{} `type:"structure"`
  4851  
  4852  	// Maximum number of streams to return. Default: 50.
  4853  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  4854  
  4855  	// The first stream to retrieve. This is used for pagination; see the nextToken
  4856  	// response field.
  4857  	NextToken *string `locationName:"nextToken" type:"string"`
  4858  }
  4859  
  4860  // String returns the string representation.
  4861  //
  4862  // API parameter values that are decorated as "sensitive" in the API will not
  4863  // be included in the string output. The member name will be present, but the
  4864  // value will be replaced with "sensitive".
  4865  func (s ListStreamsInput) String() string {
  4866  	return awsutil.Prettify(s)
  4867  }
  4868  
  4869  // GoString returns the string representation.
  4870  //
  4871  // API parameter values that are decorated as "sensitive" in the API will not
  4872  // be included in the string output. The member name will be present, but the
  4873  // value will be replaced with "sensitive".
  4874  func (s ListStreamsInput) GoString() string {
  4875  	return s.String()
  4876  }
  4877  
  4878  // Validate inspects the fields of the type to determine if they are valid.
  4879  func (s *ListStreamsInput) Validate() error {
  4880  	invalidParams := request.ErrInvalidParams{Context: "ListStreamsInput"}
  4881  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4882  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4883  	}
  4884  
  4885  	if invalidParams.Len() > 0 {
  4886  		return invalidParams
  4887  	}
  4888  	return nil
  4889  }
  4890  
  4891  // SetMaxResults sets the MaxResults field's value.
  4892  func (s *ListStreamsInput) SetMaxResults(v int64) *ListStreamsInput {
  4893  	s.MaxResults = &v
  4894  	return s
  4895  }
  4896  
  4897  // SetNextToken sets the NextToken field's value.
  4898  func (s *ListStreamsInput) SetNextToken(v string) *ListStreamsInput {
  4899  	s.NextToken = &v
  4900  	return s
  4901  }
  4902  
  4903  type ListStreamsOutput struct {
  4904  	_ struct{} `type:"structure"`
  4905  
  4906  	// If there are more streams than maxResults, use nextToken in the request to
  4907  	// get the next set.
  4908  	NextToken *string `locationName:"nextToken" type:"string"`
  4909  
  4910  	// List of streams.
  4911  	//
  4912  	// Streams is a required field
  4913  	Streams []*StreamSummary `locationName:"streams" type:"list" required:"true"`
  4914  }
  4915  
  4916  // String returns the string representation.
  4917  //
  4918  // API parameter values that are decorated as "sensitive" in the API will not
  4919  // be included in the string output. The member name will be present, but the
  4920  // value will be replaced with "sensitive".
  4921  func (s ListStreamsOutput) String() string {
  4922  	return awsutil.Prettify(s)
  4923  }
  4924  
  4925  // GoString returns the string representation.
  4926  //
  4927  // API parameter values that are decorated as "sensitive" in the API will not
  4928  // be included in the string output. The member name will be present, but the
  4929  // value will be replaced with "sensitive".
  4930  func (s ListStreamsOutput) GoString() string {
  4931  	return s.String()
  4932  }
  4933  
  4934  // SetNextToken sets the NextToken field's value.
  4935  func (s *ListStreamsOutput) SetNextToken(v string) *ListStreamsOutput {
  4936  	s.NextToken = &v
  4937  	return s
  4938  }
  4939  
  4940  // SetStreams sets the Streams field's value.
  4941  func (s *ListStreamsOutput) SetStreams(v []*StreamSummary) *ListStreamsOutput {
  4942  	s.Streams = v
  4943  	return s
  4944  }
  4945  
  4946  type ListTagsForResourceInput struct {
  4947  	_ struct{} `type:"structure"`
  4948  
  4949  	// Maximum number of tags to return. Default: 50.
  4950  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  4951  
  4952  	// The first tag to retrieve. This is used for pagination; see the nextToken
  4953  	// response field.
  4954  	NextToken *string `locationName:"nextToken" type:"string"`
  4955  
  4956  	// The ARN of the resource to be retrieved.
  4957  	//
  4958  	// ResourceArn is a required field
  4959  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
  4960  }
  4961  
  4962  // String returns the string representation.
  4963  //
  4964  // API parameter values that are decorated as "sensitive" in the API will not
  4965  // be included in the string output. The member name will be present, but the
  4966  // value will be replaced with "sensitive".
  4967  func (s ListTagsForResourceInput) String() string {
  4968  	return awsutil.Prettify(s)
  4969  }
  4970  
  4971  // GoString returns the string representation.
  4972  //
  4973  // API parameter values that are decorated as "sensitive" in the API will not
  4974  // be included in the string output. The member name will be present, but the
  4975  // value will be replaced with "sensitive".
  4976  func (s ListTagsForResourceInput) GoString() string {
  4977  	return s.String()
  4978  }
  4979  
  4980  // Validate inspects the fields of the type to determine if they are valid.
  4981  func (s *ListTagsForResourceInput) Validate() error {
  4982  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  4983  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4984  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4985  	}
  4986  	if s.ResourceArn == nil {
  4987  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  4988  	}
  4989  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  4990  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  4991  	}
  4992  
  4993  	if invalidParams.Len() > 0 {
  4994  		return invalidParams
  4995  	}
  4996  	return nil
  4997  }
  4998  
  4999  // SetMaxResults sets the MaxResults field's value.
  5000  func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput {
  5001  	s.MaxResults = &v
  5002  	return s
  5003  }
  5004  
  5005  // SetNextToken sets the NextToken field's value.
  5006  func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
  5007  	s.NextToken = &v
  5008  	return s
  5009  }
  5010  
  5011  // SetResourceArn sets the ResourceArn field's value.
  5012  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  5013  	s.ResourceArn = &v
  5014  	return s
  5015  }
  5016  
  5017  type ListTagsForResourceOutput struct {
  5018  	_ struct{} `type:"structure"`
  5019  
  5020  	// If there are more tags than maxResults, use nextToken in the request to get
  5021  	// the next set.
  5022  	NextToken *string `locationName:"nextToken" type:"string"`
  5023  
  5024  	// Tags is a required field
  5025  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
  5026  }
  5027  
  5028  // String returns the string representation.
  5029  //
  5030  // API parameter values that are decorated as "sensitive" in the API will not
  5031  // be included in the string output. The member name will be present, but the
  5032  // value will be replaced with "sensitive".
  5033  func (s ListTagsForResourceOutput) String() string {
  5034  	return awsutil.Prettify(s)
  5035  }
  5036  
  5037  // GoString returns the string representation.
  5038  //
  5039  // API parameter values that are decorated as "sensitive" in the API will not
  5040  // be included in the string output. The member name will be present, but the
  5041  // value will be replaced with "sensitive".
  5042  func (s ListTagsForResourceOutput) GoString() string {
  5043  	return s.String()
  5044  }
  5045  
  5046  // SetNextToken sets the NextToken field's value.
  5047  func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
  5048  	s.NextToken = &v
  5049  	return s
  5050  }
  5051  
  5052  // SetTags sets the Tags field's value.
  5053  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  5054  	s.Tags = v
  5055  	return s
  5056  }
  5057  
  5058  type PendingVerification struct {
  5059  	_            struct{}                  `type:"structure"`
  5060  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5061  
  5062  	// Your account is pending verification.
  5063  	ExceptionMessage *string `locationName:"exceptionMessage" type:"string"`
  5064  
  5065  	Message_ *string `locationName:"message" type:"string"`
  5066  }
  5067  
  5068  // String returns the string representation.
  5069  //
  5070  // API parameter values that are decorated as "sensitive" in the API will not
  5071  // be included in the string output. The member name will be present, but the
  5072  // value will be replaced with "sensitive".
  5073  func (s PendingVerification) String() string {
  5074  	return awsutil.Prettify(s)
  5075  }
  5076  
  5077  // GoString returns the string representation.
  5078  //
  5079  // API parameter values that are decorated as "sensitive" in the API will not
  5080  // be included in the string output. The member name will be present, but the
  5081  // value will be replaced with "sensitive".
  5082  func (s PendingVerification) GoString() string {
  5083  	return s.String()
  5084  }
  5085  
  5086  func newErrorPendingVerification(v protocol.ResponseMetadata) error {
  5087  	return &PendingVerification{
  5088  		RespMetadata: v,
  5089  	}
  5090  }
  5091  
  5092  // Code returns the exception type name.
  5093  func (s *PendingVerification) Code() string {
  5094  	return "PendingVerification"
  5095  }
  5096  
  5097  // Message returns the exception's message.
  5098  func (s *PendingVerification) Message() string {
  5099  	if s.Message_ != nil {
  5100  		return *s.Message_
  5101  	}
  5102  	return ""
  5103  }
  5104  
  5105  // OrigErr always returns nil, satisfies awserr.Error interface.
  5106  func (s *PendingVerification) OrigErr() error {
  5107  	return nil
  5108  }
  5109  
  5110  func (s *PendingVerification) Error() string {
  5111  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  5112  }
  5113  
  5114  // Status code returns the HTTP status code for the request's response error.
  5115  func (s *PendingVerification) StatusCode() int {
  5116  	return s.RespMetadata.StatusCode
  5117  }
  5118  
  5119  // RequestID returns the service's response RequestID for request.
  5120  func (s *PendingVerification) RequestID() string {
  5121  	return s.RespMetadata.RequestID
  5122  }
  5123  
  5124  // A key pair used to sign and validate a playback authorization token.
  5125  type PlaybackKeyPair struct {
  5126  	_ struct{} `type:"structure"`
  5127  
  5128  	// Key-pair ARN.
  5129  	Arn *string `locationName:"arn" min:"1" type:"string"`
  5130  
  5131  	// Key-pair identifier.
  5132  	Fingerprint *string `locationName:"fingerprint" type:"string"`
  5133  
  5134  	// An arbitrary string (a nickname) assigned to a playback key pair that helps
  5135  	// the customer identify that resource. The value does not need to be unique.
  5136  	Name *string `locationName:"name" type:"string"`
  5137  
  5138  	// Array of 1-50 maps, each of the form string:string (key:value).
  5139  	Tags map[string]*string `locationName:"tags" type:"map"`
  5140  }
  5141  
  5142  // String returns the string representation.
  5143  //
  5144  // API parameter values that are decorated as "sensitive" in the API will not
  5145  // be included in the string output. The member name will be present, but the
  5146  // value will be replaced with "sensitive".
  5147  func (s PlaybackKeyPair) String() string {
  5148  	return awsutil.Prettify(s)
  5149  }
  5150  
  5151  // GoString returns the string representation.
  5152  //
  5153  // API parameter values that are decorated as "sensitive" in the API will not
  5154  // be included in the string output. The member name will be present, but the
  5155  // value will be replaced with "sensitive".
  5156  func (s PlaybackKeyPair) GoString() string {
  5157  	return s.String()
  5158  }
  5159  
  5160  // SetArn sets the Arn field's value.
  5161  func (s *PlaybackKeyPair) SetArn(v string) *PlaybackKeyPair {
  5162  	s.Arn = &v
  5163  	return s
  5164  }
  5165  
  5166  // SetFingerprint sets the Fingerprint field's value.
  5167  func (s *PlaybackKeyPair) SetFingerprint(v string) *PlaybackKeyPair {
  5168  	s.Fingerprint = &v
  5169  	return s
  5170  }
  5171  
  5172  // SetName sets the Name field's value.
  5173  func (s *PlaybackKeyPair) SetName(v string) *PlaybackKeyPair {
  5174  	s.Name = &v
  5175  	return s
  5176  }
  5177  
  5178  // SetTags sets the Tags field's value.
  5179  func (s *PlaybackKeyPair) SetTags(v map[string]*string) *PlaybackKeyPair {
  5180  	s.Tags = v
  5181  	return s
  5182  }
  5183  
  5184  // Summary information about a playback key pair.
  5185  type PlaybackKeyPairSummary struct {
  5186  	_ struct{} `type:"structure"`
  5187  
  5188  	// Key-pair ARN.
  5189  	Arn *string `locationName:"arn" min:"1" type:"string"`
  5190  
  5191  	// An arbitrary string (a nickname) assigned to a playback key pair that helps
  5192  	// the customer identify that resource. The value does not need to be unique.
  5193  	Name *string `locationName:"name" type:"string"`
  5194  
  5195  	// Array of 1-50 maps, each of the form string:string (key:value).
  5196  	Tags map[string]*string `locationName:"tags" type:"map"`
  5197  }
  5198  
  5199  // String returns the string representation.
  5200  //
  5201  // API parameter values that are decorated as "sensitive" in the API will not
  5202  // be included in the string output. The member name will be present, but the
  5203  // value will be replaced with "sensitive".
  5204  func (s PlaybackKeyPairSummary) String() string {
  5205  	return awsutil.Prettify(s)
  5206  }
  5207  
  5208  // GoString returns the string representation.
  5209  //
  5210  // API parameter values that are decorated as "sensitive" in the API will not
  5211  // be included in the string output. The member name will be present, but the
  5212  // value will be replaced with "sensitive".
  5213  func (s PlaybackKeyPairSummary) GoString() string {
  5214  	return s.String()
  5215  }
  5216  
  5217  // SetArn sets the Arn field's value.
  5218  func (s *PlaybackKeyPairSummary) SetArn(v string) *PlaybackKeyPairSummary {
  5219  	s.Arn = &v
  5220  	return s
  5221  }
  5222  
  5223  // SetName sets the Name field's value.
  5224  func (s *PlaybackKeyPairSummary) SetName(v string) *PlaybackKeyPairSummary {
  5225  	s.Name = &v
  5226  	return s
  5227  }
  5228  
  5229  // SetTags sets the Tags field's value.
  5230  func (s *PlaybackKeyPairSummary) SetTags(v map[string]*string) *PlaybackKeyPairSummary {
  5231  	s.Tags = v
  5232  	return s
  5233  }
  5234  
  5235  type PutMetadataInput struct {
  5236  	_ struct{} `type:"structure"`
  5237  
  5238  	// ARN of the channel into which metadata is inserted. This channel must have
  5239  	// an active stream.
  5240  	//
  5241  	// ChannelArn is a required field
  5242  	ChannelArn *string `locationName:"channelArn" min:"1" type:"string" required:"true"`
  5243  
  5244  	// Metadata to insert into the stream. Maximum: 1 KB per request.
  5245  	//
  5246  	// Metadata is a required field
  5247  	Metadata *string `locationName:"metadata" min:"1" type:"string" required:"true"`
  5248  }
  5249  
  5250  // String returns the string representation.
  5251  //
  5252  // API parameter values that are decorated as "sensitive" in the API will not
  5253  // be included in the string output. The member name will be present, but the
  5254  // value will be replaced with "sensitive".
  5255  func (s PutMetadataInput) String() string {
  5256  	return awsutil.Prettify(s)
  5257  }
  5258  
  5259  // GoString returns the string representation.
  5260  //
  5261  // API parameter values that are decorated as "sensitive" in the API will not
  5262  // be included in the string output. The member name will be present, but the
  5263  // value will be replaced with "sensitive".
  5264  func (s PutMetadataInput) GoString() string {
  5265  	return s.String()
  5266  }
  5267  
  5268  // Validate inspects the fields of the type to determine if they are valid.
  5269  func (s *PutMetadataInput) Validate() error {
  5270  	invalidParams := request.ErrInvalidParams{Context: "PutMetadataInput"}
  5271  	if s.ChannelArn == nil {
  5272  		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
  5273  	}
  5274  	if s.ChannelArn != nil && len(*s.ChannelArn) < 1 {
  5275  		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 1))
  5276  	}
  5277  	if s.Metadata == nil {
  5278  		invalidParams.Add(request.NewErrParamRequired("Metadata"))
  5279  	}
  5280  	if s.Metadata != nil && len(*s.Metadata) < 1 {
  5281  		invalidParams.Add(request.NewErrParamMinLen("Metadata", 1))
  5282  	}
  5283  
  5284  	if invalidParams.Len() > 0 {
  5285  		return invalidParams
  5286  	}
  5287  	return nil
  5288  }
  5289  
  5290  // SetChannelArn sets the ChannelArn field's value.
  5291  func (s *PutMetadataInput) SetChannelArn(v string) *PutMetadataInput {
  5292  	s.ChannelArn = &v
  5293  	return s
  5294  }
  5295  
  5296  // SetMetadata sets the Metadata field's value.
  5297  func (s *PutMetadataInput) SetMetadata(v string) *PutMetadataInput {
  5298  	s.Metadata = &v
  5299  	return s
  5300  }
  5301  
  5302  type PutMetadataOutput struct {
  5303  	_ struct{} `type:"structure" nopayload:"true"`
  5304  }
  5305  
  5306  // String returns the string representation.
  5307  //
  5308  // API parameter values that are decorated as "sensitive" in the API will not
  5309  // be included in the string output. The member name will be present, but the
  5310  // value will be replaced with "sensitive".
  5311  func (s PutMetadataOutput) String() string {
  5312  	return awsutil.Prettify(s)
  5313  }
  5314  
  5315  // GoString returns the string representation.
  5316  //
  5317  // API parameter values that are decorated as "sensitive" in the API will not
  5318  // be included in the string output. The member name will be present, but the
  5319  // value will be replaced with "sensitive".
  5320  func (s PutMetadataOutput) GoString() string {
  5321  	return s.String()
  5322  }
  5323  
  5324  // An object representing a configuration to record a channel stream.
  5325  type RecordingConfiguration struct {
  5326  	_ struct{} `type:"structure"`
  5327  
  5328  	// Recording-configuration ARN.
  5329  	//
  5330  	// Arn is a required field
  5331  	Arn *string `locationName:"arn" type:"string" required:"true"`
  5332  
  5333  	// A complex type that contains information about where recorded video will
  5334  	// be stored.
  5335  	//
  5336  	// DestinationConfiguration is a required field
  5337  	DestinationConfiguration *DestinationConfiguration `locationName:"destinationConfiguration" type:"structure" required:"true"`
  5338  
  5339  	// An arbitrary string (a nickname) assigned to a recording configuration that
  5340  	// helps the customer identify that resource. The value does not need to be
  5341  	// unique.
  5342  	Name *string `locationName:"name" type:"string"`
  5343  
  5344  	// Indicates the current state of the recording configuration. When the state
  5345  	// is ACTIVE, the configuration is ready for recording a channel stream.
  5346  	//
  5347  	// State is a required field
  5348  	State *string `locationName:"state" type:"string" required:"true" enum:"RecordingConfigurationState"`
  5349  
  5350  	// Array of 1-50 maps, each of the form string:string (key:value).
  5351  	Tags map[string]*string `locationName:"tags" type:"map"`
  5352  }
  5353  
  5354  // String returns the string representation.
  5355  //
  5356  // API parameter values that are decorated as "sensitive" in the API will not
  5357  // be included in the string output. The member name will be present, but the
  5358  // value will be replaced with "sensitive".
  5359  func (s RecordingConfiguration) String() string {
  5360  	return awsutil.Prettify(s)
  5361  }
  5362  
  5363  // GoString returns the string representation.
  5364  //
  5365  // API parameter values that are decorated as "sensitive" in the API will not
  5366  // be included in the string output. The member name will be present, but the
  5367  // value will be replaced with "sensitive".
  5368  func (s RecordingConfiguration) GoString() string {
  5369  	return s.String()
  5370  }
  5371  
  5372  // SetArn sets the Arn field's value.
  5373  func (s *RecordingConfiguration) SetArn(v string) *RecordingConfiguration {
  5374  	s.Arn = &v
  5375  	return s
  5376  }
  5377  
  5378  // SetDestinationConfiguration sets the DestinationConfiguration field's value.
  5379  func (s *RecordingConfiguration) SetDestinationConfiguration(v *DestinationConfiguration) *RecordingConfiguration {
  5380  	s.DestinationConfiguration = v
  5381  	return s
  5382  }
  5383  
  5384  // SetName sets the Name field's value.
  5385  func (s *RecordingConfiguration) SetName(v string) *RecordingConfiguration {
  5386  	s.Name = &v
  5387  	return s
  5388  }
  5389  
  5390  // SetState sets the State field's value.
  5391  func (s *RecordingConfiguration) SetState(v string) *RecordingConfiguration {
  5392  	s.State = &v
  5393  	return s
  5394  }
  5395  
  5396  // SetTags sets the Tags field's value.
  5397  func (s *RecordingConfiguration) SetTags(v map[string]*string) *RecordingConfiguration {
  5398  	s.Tags = v
  5399  	return s
  5400  }
  5401  
  5402  // Summary information about a RecordingConfiguration.
  5403  type RecordingConfigurationSummary struct {
  5404  	_ struct{} `type:"structure"`
  5405  
  5406  	// Recording-configuration ARN.
  5407  	//
  5408  	// Arn is a required field
  5409  	Arn *string `locationName:"arn" type:"string" required:"true"`
  5410  
  5411  	// A complex type that contains information about where recorded video will
  5412  	// be stored.
  5413  	//
  5414  	// DestinationConfiguration is a required field
  5415  	DestinationConfiguration *DestinationConfiguration `locationName:"destinationConfiguration" type:"structure" required:"true"`
  5416  
  5417  	// An arbitrary string (a nickname) assigned to a recording configuration that
  5418  	// helps the customer identify that resource. The value does not need to be
  5419  	// unique.
  5420  	Name *string `locationName:"name" type:"string"`
  5421  
  5422  	// Indicates the current state of the recording configuration. When the state
  5423  	// is ACTIVE, the configuration is ready for recording a channel stream.
  5424  	//
  5425  	// State is a required field
  5426  	State *string `locationName:"state" type:"string" required:"true" enum:"RecordingConfigurationState"`
  5427  
  5428  	// Array of 1-50 maps, each of the form string:string (key:value).
  5429  	Tags map[string]*string `locationName:"tags" type:"map"`
  5430  }
  5431  
  5432  // String returns the string representation.
  5433  //
  5434  // API parameter values that are decorated as "sensitive" in the API will not
  5435  // be included in the string output. The member name will be present, but the
  5436  // value will be replaced with "sensitive".
  5437  func (s RecordingConfigurationSummary) String() string {
  5438  	return awsutil.Prettify(s)
  5439  }
  5440  
  5441  // GoString returns the string representation.
  5442  //
  5443  // API parameter values that are decorated as "sensitive" in the API will not
  5444  // be included in the string output. The member name will be present, but the
  5445  // value will be replaced with "sensitive".
  5446  func (s RecordingConfigurationSummary) GoString() string {
  5447  	return s.String()
  5448  }
  5449  
  5450  // SetArn sets the Arn field's value.
  5451  func (s *RecordingConfigurationSummary) SetArn(v string) *RecordingConfigurationSummary {
  5452  	s.Arn = &v
  5453  	return s
  5454  }
  5455  
  5456  // SetDestinationConfiguration sets the DestinationConfiguration field's value.
  5457  func (s *RecordingConfigurationSummary) SetDestinationConfiguration(v *DestinationConfiguration) *RecordingConfigurationSummary {
  5458  	s.DestinationConfiguration = v
  5459  	return s
  5460  }
  5461  
  5462  // SetName sets the Name field's value.
  5463  func (s *RecordingConfigurationSummary) SetName(v string) *RecordingConfigurationSummary {
  5464  	s.Name = &v
  5465  	return s
  5466  }
  5467  
  5468  // SetState sets the State field's value.
  5469  func (s *RecordingConfigurationSummary) SetState(v string) *RecordingConfigurationSummary {
  5470  	s.State = &v
  5471  	return s
  5472  }
  5473  
  5474  // SetTags sets the Tags field's value.
  5475  func (s *RecordingConfigurationSummary) SetTags(v map[string]*string) *RecordingConfigurationSummary {
  5476  	s.Tags = v
  5477  	return s
  5478  }
  5479  
  5480  type ResourceNotFoundException struct {
  5481  	_            struct{}                  `type:"structure"`
  5482  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5483  
  5484  	// Request references a resource which does not exist.
  5485  	ExceptionMessage *string `locationName:"exceptionMessage" type:"string"`
  5486  
  5487  	Message_ *string `locationName:"message" type:"string"`
  5488  }
  5489  
  5490  // String returns the string representation.
  5491  //
  5492  // API parameter values that are decorated as "sensitive" in the API will not
  5493  // be included in the string output. The member name will be present, but the
  5494  // value will be replaced with "sensitive".
  5495  func (s ResourceNotFoundException) String() string {
  5496  	return awsutil.Prettify(s)
  5497  }
  5498  
  5499  // GoString returns the string representation.
  5500  //
  5501  // API parameter values that are decorated as "sensitive" in the API will not
  5502  // be included in the string output. The member name will be present, but the
  5503  // value will be replaced with "sensitive".
  5504  func (s ResourceNotFoundException) GoString() string {
  5505  	return s.String()
  5506  }
  5507  
  5508  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  5509  	return &ResourceNotFoundException{
  5510  		RespMetadata: v,
  5511  	}
  5512  }
  5513  
  5514  // Code returns the exception type name.
  5515  func (s *ResourceNotFoundException) Code() string {
  5516  	return "ResourceNotFoundException"
  5517  }
  5518  
  5519  // Message returns the exception's message.
  5520  func (s *ResourceNotFoundException) Message() string {
  5521  	if s.Message_ != nil {
  5522  		return *s.Message_
  5523  	}
  5524  	return ""
  5525  }
  5526  
  5527  // OrigErr always returns nil, satisfies awserr.Error interface.
  5528  func (s *ResourceNotFoundException) OrigErr() error {
  5529  	return nil
  5530  }
  5531  
  5532  func (s *ResourceNotFoundException) Error() string {
  5533  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  5534  }
  5535  
  5536  // Status code returns the HTTP status code for the request's response error.
  5537  func (s *ResourceNotFoundException) StatusCode() int {
  5538  	return s.RespMetadata.StatusCode
  5539  }
  5540  
  5541  // RequestID returns the service's response RequestID for request.
  5542  func (s *ResourceNotFoundException) RequestID() string {
  5543  	return s.RespMetadata.RequestID
  5544  }
  5545  
  5546  // A complex type that describes an S3 location where recorded videos will be
  5547  // stored.
  5548  type S3DestinationConfiguration struct {
  5549  	_ struct{} `type:"structure"`
  5550  
  5551  	// Location (S3 bucket name) where recorded videos will be stored.
  5552  	//
  5553  	// BucketName is a required field
  5554  	BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"`
  5555  }
  5556  
  5557  // String returns the string representation.
  5558  //
  5559  // API parameter values that are decorated as "sensitive" in the API will not
  5560  // be included in the string output. The member name will be present, but the
  5561  // value will be replaced with "sensitive".
  5562  func (s S3DestinationConfiguration) String() string {
  5563  	return awsutil.Prettify(s)
  5564  }
  5565  
  5566  // GoString returns the string representation.
  5567  //
  5568  // API parameter values that are decorated as "sensitive" in the API will not
  5569  // be included in the string output. The member name will be present, but the
  5570  // value will be replaced with "sensitive".
  5571  func (s S3DestinationConfiguration) GoString() string {
  5572  	return s.String()
  5573  }
  5574  
  5575  // Validate inspects the fields of the type to determine if they are valid.
  5576  func (s *S3DestinationConfiguration) Validate() error {
  5577  	invalidParams := request.ErrInvalidParams{Context: "S3DestinationConfiguration"}
  5578  	if s.BucketName == nil {
  5579  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
  5580  	}
  5581  	if s.BucketName != nil && len(*s.BucketName) < 3 {
  5582  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
  5583  	}
  5584  
  5585  	if invalidParams.Len() > 0 {
  5586  		return invalidParams
  5587  	}
  5588  	return nil
  5589  }
  5590  
  5591  // SetBucketName sets the BucketName field's value.
  5592  func (s *S3DestinationConfiguration) SetBucketName(v string) *S3DestinationConfiguration {
  5593  	s.BucketName = &v
  5594  	return s
  5595  }
  5596  
  5597  type ServiceQuotaExceededException struct {
  5598  	_            struct{}                  `type:"structure"`
  5599  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5600  
  5601  	// Request would cause a service quota to be exceeded.
  5602  	ExceptionMessage *string `locationName:"exceptionMessage" type:"string"`
  5603  
  5604  	Message_ *string `locationName:"message" type:"string"`
  5605  }
  5606  
  5607  // String returns the string representation.
  5608  //
  5609  // API parameter values that are decorated as "sensitive" in the API will not
  5610  // be included in the string output. The member name will be present, but the
  5611  // value will be replaced with "sensitive".
  5612  func (s ServiceQuotaExceededException) String() string {
  5613  	return awsutil.Prettify(s)
  5614  }
  5615  
  5616  // GoString returns the string representation.
  5617  //
  5618  // API parameter values that are decorated as "sensitive" in the API will not
  5619  // be included in the string output. The member name will be present, but the
  5620  // value will be replaced with "sensitive".
  5621  func (s ServiceQuotaExceededException) GoString() string {
  5622  	return s.String()
  5623  }
  5624  
  5625  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
  5626  	return &ServiceQuotaExceededException{
  5627  		RespMetadata: v,
  5628  	}
  5629  }
  5630  
  5631  // Code returns the exception type name.
  5632  func (s *ServiceQuotaExceededException) Code() string {
  5633  	return "ServiceQuotaExceededException"
  5634  }
  5635  
  5636  // Message returns the exception's message.
  5637  func (s *ServiceQuotaExceededException) Message() string {
  5638  	if s.Message_ != nil {
  5639  		return *s.Message_
  5640  	}
  5641  	return ""
  5642  }
  5643  
  5644  // OrigErr always returns nil, satisfies awserr.Error interface.
  5645  func (s *ServiceQuotaExceededException) OrigErr() error {
  5646  	return nil
  5647  }
  5648  
  5649  func (s *ServiceQuotaExceededException) Error() string {
  5650  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  5651  }
  5652  
  5653  // Status code returns the HTTP status code for the request's response error.
  5654  func (s *ServiceQuotaExceededException) StatusCode() int {
  5655  	return s.RespMetadata.StatusCode
  5656  }
  5657  
  5658  // RequestID returns the service's response RequestID for request.
  5659  func (s *ServiceQuotaExceededException) RequestID() string {
  5660  	return s.RespMetadata.RequestID
  5661  }
  5662  
  5663  type StopStreamInput struct {
  5664  	_ struct{} `type:"structure"`
  5665  
  5666  	// ARN of the channel for which the stream is to be stopped.
  5667  	//
  5668  	// ChannelArn is a required field
  5669  	ChannelArn *string `locationName:"channelArn" min:"1" type:"string" required:"true"`
  5670  }
  5671  
  5672  // String returns the string representation.
  5673  //
  5674  // API parameter values that are decorated as "sensitive" in the API will not
  5675  // be included in the string output. The member name will be present, but the
  5676  // value will be replaced with "sensitive".
  5677  func (s StopStreamInput) String() string {
  5678  	return awsutil.Prettify(s)
  5679  }
  5680  
  5681  // GoString returns the string representation.
  5682  //
  5683  // API parameter values that are decorated as "sensitive" in the API will not
  5684  // be included in the string output. The member name will be present, but the
  5685  // value will be replaced with "sensitive".
  5686  func (s StopStreamInput) GoString() string {
  5687  	return s.String()
  5688  }
  5689  
  5690  // Validate inspects the fields of the type to determine if they are valid.
  5691  func (s *StopStreamInput) Validate() error {
  5692  	invalidParams := request.ErrInvalidParams{Context: "StopStreamInput"}
  5693  	if s.ChannelArn == nil {
  5694  		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
  5695  	}
  5696  	if s.ChannelArn != nil && len(*s.ChannelArn) < 1 {
  5697  		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 1))
  5698  	}
  5699  
  5700  	if invalidParams.Len() > 0 {
  5701  		return invalidParams
  5702  	}
  5703  	return nil
  5704  }
  5705  
  5706  // SetChannelArn sets the ChannelArn field's value.
  5707  func (s *StopStreamInput) SetChannelArn(v string) *StopStreamInput {
  5708  	s.ChannelArn = &v
  5709  	return s
  5710  }
  5711  
  5712  type StopStreamOutput struct {
  5713  	_ struct{} `type:"structure" nopayload:"true"`
  5714  }
  5715  
  5716  // String returns the string representation.
  5717  //
  5718  // API parameter values that are decorated as "sensitive" in the API will not
  5719  // be included in the string output. The member name will be present, but the
  5720  // value will be replaced with "sensitive".
  5721  func (s StopStreamOutput) String() string {
  5722  	return awsutil.Prettify(s)
  5723  }
  5724  
  5725  // GoString returns the string representation.
  5726  //
  5727  // API parameter values that are decorated as "sensitive" in the API will not
  5728  // be included in the string output. The member name will be present, but the
  5729  // value will be replaced with "sensitive".
  5730  func (s StopStreamOutput) GoString() string {
  5731  	return s.String()
  5732  }
  5733  
  5734  // Specifies a live video stream that has been ingested and distributed.
  5735  type Stream struct {
  5736  	_ struct{} `type:"structure"`
  5737  
  5738  	// Channel ARN for the stream.
  5739  	ChannelArn *string `locationName:"channelArn" min:"1" type:"string"`
  5740  
  5741  	// The stream’s health.
  5742  	Health *string `locationName:"health" type:"string" enum:"StreamHealth"`
  5743  
  5744  	// URL of the master playlist, required by the video player to play the HLS
  5745  	// stream.
  5746  	PlaybackUrl *string `locationName:"playbackUrl" type:"string"`
  5747  
  5748  	// ISO-8601 formatted timestamp of the stream’s start.
  5749  	StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  5750  
  5751  	// The stream’s state.
  5752  	State *string `locationName:"state" type:"string" enum:"StreamState"`
  5753  
  5754  	// Number of current viewers of the stream. A value of -1 indicates that the
  5755  	// request timed out; in this case, retry.
  5756  	ViewerCount *int64 `locationName:"viewerCount" type:"long"`
  5757  }
  5758  
  5759  // String returns the string representation.
  5760  //
  5761  // API parameter values that are decorated as "sensitive" in the API will not
  5762  // be included in the string output. The member name will be present, but the
  5763  // value will be replaced with "sensitive".
  5764  func (s Stream) String() string {
  5765  	return awsutil.Prettify(s)
  5766  }
  5767  
  5768  // GoString returns the string representation.
  5769  //
  5770  // API parameter values that are decorated as "sensitive" in the API will not
  5771  // be included in the string output. The member name will be present, but the
  5772  // value will be replaced with "sensitive".
  5773  func (s Stream) GoString() string {
  5774  	return s.String()
  5775  }
  5776  
  5777  // SetChannelArn sets the ChannelArn field's value.
  5778  func (s *Stream) SetChannelArn(v string) *Stream {
  5779  	s.ChannelArn = &v
  5780  	return s
  5781  }
  5782  
  5783  // SetHealth sets the Health field's value.
  5784  func (s *Stream) SetHealth(v string) *Stream {
  5785  	s.Health = &v
  5786  	return s
  5787  }
  5788  
  5789  // SetPlaybackUrl sets the PlaybackUrl field's value.
  5790  func (s *Stream) SetPlaybackUrl(v string) *Stream {
  5791  	s.PlaybackUrl = &v
  5792  	return s
  5793  }
  5794  
  5795  // SetStartTime sets the StartTime field's value.
  5796  func (s *Stream) SetStartTime(v time.Time) *Stream {
  5797  	s.StartTime = &v
  5798  	return s
  5799  }
  5800  
  5801  // SetState sets the State field's value.
  5802  func (s *Stream) SetState(v string) *Stream {
  5803  	s.State = &v
  5804  	return s
  5805  }
  5806  
  5807  // SetViewerCount sets the ViewerCount field's value.
  5808  func (s *Stream) SetViewerCount(v int64) *Stream {
  5809  	s.ViewerCount = &v
  5810  	return s
  5811  }
  5812  
  5813  // Object specifying a stream key.
  5814  type StreamKey struct {
  5815  	_ struct{} `type:"structure"`
  5816  
  5817  	// Stream-key ARN.
  5818  	Arn *string `locationName:"arn" min:"1" type:"string"`
  5819  
  5820  	// Channel ARN for the stream.
  5821  	ChannelArn *string `locationName:"channelArn" min:"1" type:"string"`
  5822  
  5823  	// Array of 1-50 maps, each of the form string:string (key:value).
  5824  	Tags map[string]*string `locationName:"tags" type:"map"`
  5825  
  5826  	// Stream-key value.
  5827  	Value *string `locationName:"value" type:"string"`
  5828  }
  5829  
  5830  // String returns the string representation.
  5831  //
  5832  // API parameter values that are decorated as "sensitive" in the API will not
  5833  // be included in the string output. The member name will be present, but the
  5834  // value will be replaced with "sensitive".
  5835  func (s StreamKey) String() string {
  5836  	return awsutil.Prettify(s)
  5837  }
  5838  
  5839  // GoString returns the string representation.
  5840  //
  5841  // API parameter values that are decorated as "sensitive" in the API will not
  5842  // be included in the string output. The member name will be present, but the
  5843  // value will be replaced with "sensitive".
  5844  func (s StreamKey) GoString() string {
  5845  	return s.String()
  5846  }
  5847  
  5848  // SetArn sets the Arn field's value.
  5849  func (s *StreamKey) SetArn(v string) *StreamKey {
  5850  	s.Arn = &v
  5851  	return s
  5852  }
  5853  
  5854  // SetChannelArn sets the ChannelArn field's value.
  5855  func (s *StreamKey) SetChannelArn(v string) *StreamKey {
  5856  	s.ChannelArn = &v
  5857  	return s
  5858  }
  5859  
  5860  // SetTags sets the Tags field's value.
  5861  func (s *StreamKey) SetTags(v map[string]*string) *StreamKey {
  5862  	s.Tags = v
  5863  	return s
  5864  }
  5865  
  5866  // SetValue sets the Value field's value.
  5867  func (s *StreamKey) SetValue(v string) *StreamKey {
  5868  	s.Value = &v
  5869  	return s
  5870  }
  5871  
  5872  // Summary information about a stream key.
  5873  type StreamKeySummary struct {
  5874  	_ struct{} `type:"structure"`
  5875  
  5876  	// Stream-key ARN.
  5877  	Arn *string `locationName:"arn" min:"1" type:"string"`
  5878  
  5879  	// Channel ARN for the stream.
  5880  	ChannelArn *string `locationName:"channelArn" min:"1" type:"string"`
  5881  
  5882  	// Array of 1-50 maps, each of the form string:string (key:value).
  5883  	Tags map[string]*string `locationName:"tags" type:"map"`
  5884  }
  5885  
  5886  // String returns the string representation.
  5887  //
  5888  // API parameter values that are decorated as "sensitive" in the API will not
  5889  // be included in the string output. The member name will be present, but the
  5890  // value will be replaced with "sensitive".
  5891  func (s StreamKeySummary) String() string {
  5892  	return awsutil.Prettify(s)
  5893  }
  5894  
  5895  // GoString returns the string representation.
  5896  //
  5897  // API parameter values that are decorated as "sensitive" in the API will not
  5898  // be included in the string output. The member name will be present, but the
  5899  // value will be replaced with "sensitive".
  5900  func (s StreamKeySummary) GoString() string {
  5901  	return s.String()
  5902  }
  5903  
  5904  // SetArn sets the Arn field's value.
  5905  func (s *StreamKeySummary) SetArn(v string) *StreamKeySummary {
  5906  	s.Arn = &v
  5907  	return s
  5908  }
  5909  
  5910  // SetChannelArn sets the ChannelArn field's value.
  5911  func (s *StreamKeySummary) SetChannelArn(v string) *StreamKeySummary {
  5912  	s.ChannelArn = &v
  5913  	return s
  5914  }
  5915  
  5916  // SetTags sets the Tags field's value.
  5917  func (s *StreamKeySummary) SetTags(v map[string]*string) *StreamKeySummary {
  5918  	s.Tags = v
  5919  	return s
  5920  }
  5921  
  5922  // Summary information about a stream.
  5923  type StreamSummary struct {
  5924  	_ struct{} `type:"structure"`
  5925  
  5926  	// Channel ARN for the stream.
  5927  	ChannelArn *string `locationName:"channelArn" min:"1" type:"string"`
  5928  
  5929  	// The stream’s health.
  5930  	Health *string `locationName:"health" type:"string" enum:"StreamHealth"`
  5931  
  5932  	// ISO-8601 formatted timestamp of the stream’s start.
  5933  	StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  5934  
  5935  	// The stream’s state.
  5936  	State *string `locationName:"state" type:"string" enum:"StreamState"`
  5937  
  5938  	// Number of current viewers of the stream. A value of -1 indicates that the
  5939  	// request timed out; in this case, retry.
  5940  	ViewerCount *int64 `locationName:"viewerCount" type:"long"`
  5941  }
  5942  
  5943  // String returns the string representation.
  5944  //
  5945  // API parameter values that are decorated as "sensitive" in the API will not
  5946  // be included in the string output. The member name will be present, but the
  5947  // value will be replaced with "sensitive".
  5948  func (s StreamSummary) String() string {
  5949  	return awsutil.Prettify(s)
  5950  }
  5951  
  5952  // GoString returns the string representation.
  5953  //
  5954  // API parameter values that are decorated as "sensitive" in the API will not
  5955  // be included in the string output. The member name will be present, but the
  5956  // value will be replaced with "sensitive".
  5957  func (s StreamSummary) GoString() string {
  5958  	return s.String()
  5959  }
  5960  
  5961  // SetChannelArn sets the ChannelArn field's value.
  5962  func (s *StreamSummary) SetChannelArn(v string) *StreamSummary {
  5963  	s.ChannelArn = &v
  5964  	return s
  5965  }
  5966  
  5967  // SetHealth sets the Health field's value.
  5968  func (s *StreamSummary) SetHealth(v string) *StreamSummary {
  5969  	s.Health = &v
  5970  	return s
  5971  }
  5972  
  5973  // SetStartTime sets the StartTime field's value.
  5974  func (s *StreamSummary) SetStartTime(v time.Time) *StreamSummary {
  5975  	s.StartTime = &v
  5976  	return s
  5977  }
  5978  
  5979  // SetState sets the State field's value.
  5980  func (s *StreamSummary) SetState(v string) *StreamSummary {
  5981  	s.State = &v
  5982  	return s
  5983  }
  5984  
  5985  // SetViewerCount sets the ViewerCount field's value.
  5986  func (s *StreamSummary) SetViewerCount(v int64) *StreamSummary {
  5987  	s.ViewerCount = &v
  5988  	return s
  5989  }
  5990  
  5991  type StreamUnavailable struct {
  5992  	_            struct{}                  `type:"structure"`
  5993  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5994  
  5995  	// The stream is temporarily unavailable.
  5996  	ExceptionMessage *string `locationName:"exceptionMessage" type:"string"`
  5997  
  5998  	Message_ *string `locationName:"message" type:"string"`
  5999  }
  6000  
  6001  // String returns the string representation.
  6002  //
  6003  // API parameter values that are decorated as "sensitive" in the API will not
  6004  // be included in the string output. The member name will be present, but the
  6005  // value will be replaced with "sensitive".
  6006  func (s StreamUnavailable) String() string {
  6007  	return awsutil.Prettify(s)
  6008  }
  6009  
  6010  // GoString returns the string representation.
  6011  //
  6012  // API parameter values that are decorated as "sensitive" in the API will not
  6013  // be included in the string output. The member name will be present, but the
  6014  // value will be replaced with "sensitive".
  6015  func (s StreamUnavailable) GoString() string {
  6016  	return s.String()
  6017  }
  6018  
  6019  func newErrorStreamUnavailable(v protocol.ResponseMetadata) error {
  6020  	return &StreamUnavailable{
  6021  		RespMetadata: v,
  6022  	}
  6023  }
  6024  
  6025  // Code returns the exception type name.
  6026  func (s *StreamUnavailable) Code() string {
  6027  	return "StreamUnavailable"
  6028  }
  6029  
  6030  // Message returns the exception's message.
  6031  func (s *StreamUnavailable) Message() string {
  6032  	if s.Message_ != nil {
  6033  		return *s.Message_
  6034  	}
  6035  	return ""
  6036  }
  6037  
  6038  // OrigErr always returns nil, satisfies awserr.Error interface.
  6039  func (s *StreamUnavailable) OrigErr() error {
  6040  	return nil
  6041  }
  6042  
  6043  func (s *StreamUnavailable) Error() string {
  6044  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6045  }
  6046  
  6047  // Status code returns the HTTP status code for the request's response error.
  6048  func (s *StreamUnavailable) StatusCode() int {
  6049  	return s.RespMetadata.StatusCode
  6050  }
  6051  
  6052  // RequestID returns the service's response RequestID for request.
  6053  func (s *StreamUnavailable) RequestID() string {
  6054  	return s.RespMetadata.RequestID
  6055  }
  6056  
  6057  type TagResourceInput struct {
  6058  	_ struct{} `type:"structure"`
  6059  
  6060  	// ARN of the resource for which tags are to be added or updated.
  6061  	//
  6062  	// ResourceArn is a required field
  6063  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
  6064  
  6065  	// Array of tags to be added or updated.
  6066  	//
  6067  	// Tags is a required field
  6068  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
  6069  }
  6070  
  6071  // String returns the string representation.
  6072  //
  6073  // API parameter values that are decorated as "sensitive" in the API will not
  6074  // be included in the string output. The member name will be present, but the
  6075  // value will be replaced with "sensitive".
  6076  func (s TagResourceInput) String() string {
  6077  	return awsutil.Prettify(s)
  6078  }
  6079  
  6080  // GoString returns the string representation.
  6081  //
  6082  // API parameter values that are decorated as "sensitive" in the API will not
  6083  // be included in the string output. The member name will be present, but the
  6084  // value will be replaced with "sensitive".
  6085  func (s TagResourceInput) GoString() string {
  6086  	return s.String()
  6087  }
  6088  
  6089  // Validate inspects the fields of the type to determine if they are valid.
  6090  func (s *TagResourceInput) Validate() error {
  6091  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  6092  	if s.ResourceArn == nil {
  6093  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  6094  	}
  6095  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  6096  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  6097  	}
  6098  	if s.Tags == nil {
  6099  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  6100  	}
  6101  
  6102  	if invalidParams.Len() > 0 {
  6103  		return invalidParams
  6104  	}
  6105  	return nil
  6106  }
  6107  
  6108  // SetResourceArn sets the ResourceArn field's value.
  6109  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  6110  	s.ResourceArn = &v
  6111  	return s
  6112  }
  6113  
  6114  // SetTags sets the Tags field's value.
  6115  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  6116  	s.Tags = v
  6117  	return s
  6118  }
  6119  
  6120  type TagResourceOutput struct {
  6121  	_ struct{} `type:"structure" nopayload:"true"`
  6122  }
  6123  
  6124  // String returns the string representation.
  6125  //
  6126  // API parameter values that are decorated as "sensitive" in the API will not
  6127  // be included in the string output. The member name will be present, but the
  6128  // value will be replaced with "sensitive".
  6129  func (s TagResourceOutput) String() string {
  6130  	return awsutil.Prettify(s)
  6131  }
  6132  
  6133  // GoString returns the string representation.
  6134  //
  6135  // API parameter values that are decorated as "sensitive" in the API will not
  6136  // be included in the string output. The member name will be present, but the
  6137  // value will be replaced with "sensitive".
  6138  func (s TagResourceOutput) GoString() string {
  6139  	return s.String()
  6140  }
  6141  
  6142  type ThrottlingException struct {
  6143  	_            struct{}                  `type:"structure"`
  6144  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6145  
  6146  	// Request was denied due to request throttling.
  6147  	ExceptionMessage *string `locationName:"exceptionMessage" type:"string"`
  6148  
  6149  	Message_ *string `locationName:"message" type:"string"`
  6150  }
  6151  
  6152  // String returns the string representation.
  6153  //
  6154  // API parameter values that are decorated as "sensitive" in the API will not
  6155  // be included in the string output. The member name will be present, but the
  6156  // value will be replaced with "sensitive".
  6157  func (s ThrottlingException) String() string {
  6158  	return awsutil.Prettify(s)
  6159  }
  6160  
  6161  // GoString returns the string representation.
  6162  //
  6163  // API parameter values that are decorated as "sensitive" in the API will not
  6164  // be included in the string output. The member name will be present, but the
  6165  // value will be replaced with "sensitive".
  6166  func (s ThrottlingException) GoString() string {
  6167  	return s.String()
  6168  }
  6169  
  6170  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  6171  	return &ThrottlingException{
  6172  		RespMetadata: v,
  6173  	}
  6174  }
  6175  
  6176  // Code returns the exception type name.
  6177  func (s *ThrottlingException) Code() string {
  6178  	return "ThrottlingException"
  6179  }
  6180  
  6181  // Message returns the exception's message.
  6182  func (s *ThrottlingException) Message() string {
  6183  	if s.Message_ != nil {
  6184  		return *s.Message_
  6185  	}
  6186  	return ""
  6187  }
  6188  
  6189  // OrigErr always returns nil, satisfies awserr.Error interface.
  6190  func (s *ThrottlingException) OrigErr() error {
  6191  	return nil
  6192  }
  6193  
  6194  func (s *ThrottlingException) Error() string {
  6195  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6196  }
  6197  
  6198  // Status code returns the HTTP status code for the request's response error.
  6199  func (s *ThrottlingException) StatusCode() int {
  6200  	return s.RespMetadata.StatusCode
  6201  }
  6202  
  6203  // RequestID returns the service's response RequestID for request.
  6204  func (s *ThrottlingException) RequestID() string {
  6205  	return s.RespMetadata.RequestID
  6206  }
  6207  
  6208  type UntagResourceInput struct {
  6209  	_ struct{} `type:"structure" nopayload:"true"`
  6210  
  6211  	// ARN of the resource for which tags are to be removed.
  6212  	//
  6213  	// ResourceArn is a required field
  6214  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
  6215  
  6216  	// Array of tags to be removed.
  6217  	//
  6218  	// TagKeys is a required field
  6219  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
  6220  }
  6221  
  6222  // String returns the string representation.
  6223  //
  6224  // API parameter values that are decorated as "sensitive" in the API will not
  6225  // be included in the string output. The member name will be present, but the
  6226  // value will be replaced with "sensitive".
  6227  func (s UntagResourceInput) String() string {
  6228  	return awsutil.Prettify(s)
  6229  }
  6230  
  6231  // GoString returns the string representation.
  6232  //
  6233  // API parameter values that are decorated as "sensitive" in the API will not
  6234  // be included in the string output. The member name will be present, but the
  6235  // value will be replaced with "sensitive".
  6236  func (s UntagResourceInput) GoString() string {
  6237  	return s.String()
  6238  }
  6239  
  6240  // Validate inspects the fields of the type to determine if they are valid.
  6241  func (s *UntagResourceInput) Validate() error {
  6242  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  6243  	if s.ResourceArn == nil {
  6244  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  6245  	}
  6246  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  6247  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  6248  	}
  6249  	if s.TagKeys == nil {
  6250  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  6251  	}
  6252  
  6253  	if invalidParams.Len() > 0 {
  6254  		return invalidParams
  6255  	}
  6256  	return nil
  6257  }
  6258  
  6259  // SetResourceArn sets the ResourceArn field's value.
  6260  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  6261  	s.ResourceArn = &v
  6262  	return s
  6263  }
  6264  
  6265  // SetTagKeys sets the TagKeys field's value.
  6266  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  6267  	s.TagKeys = v
  6268  	return s
  6269  }
  6270  
  6271  type UntagResourceOutput struct {
  6272  	_ struct{} `type:"structure" nopayload:"true"`
  6273  }
  6274  
  6275  // String returns the string representation.
  6276  //
  6277  // API parameter values that are decorated as "sensitive" in the API will not
  6278  // be included in the string output. The member name will be present, but the
  6279  // value will be replaced with "sensitive".
  6280  func (s UntagResourceOutput) String() string {
  6281  	return awsutil.Prettify(s)
  6282  }
  6283  
  6284  // GoString returns the string representation.
  6285  //
  6286  // API parameter values that are decorated as "sensitive" in the API will not
  6287  // be included in the string output. The member name will be present, but the
  6288  // value will be replaced with "sensitive".
  6289  func (s UntagResourceOutput) GoString() string {
  6290  	return s.String()
  6291  }
  6292  
  6293  type UpdateChannelInput struct {
  6294  	_ struct{} `type:"structure"`
  6295  
  6296  	// ARN of the channel to be updated.
  6297  	//
  6298  	// Arn is a required field
  6299  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
  6300  
  6301  	// Whether the channel is private (enabled for playback authorization).
  6302  	Authorized *bool `locationName:"authorized" type:"boolean"`
  6303  
  6304  	// Channel latency mode. Use NORMAL to broadcast and deliver live video up to
  6305  	// Full HD. Use LOW for near-real-time interaction with viewers. (Note: In the
  6306  	// Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard,
  6307  	// respectively.)
  6308  	LatencyMode *string `locationName:"latencyMode" type:"string" enum:"ChannelLatencyMode"`
  6309  
  6310  	// Channel name.
  6311  	Name *string `locationName:"name" type:"string"`
  6312  
  6313  	// Recording-configuration ARN. If this is set to an empty string, recording
  6314  	// is disabled. A value other than an empty string indicates that recording
  6315  	// is enabled
  6316  	RecordingConfigurationArn *string `locationName:"recordingConfigurationArn" type:"string"`
  6317  
  6318  	// Channel type, which determines the allowable resolution and bitrate. If you
  6319  	// exceed the allowable resolution or bitrate, the stream probably will disconnect
  6320  	// immediately. Valid values:
  6321  	//
  6322  	//    * STANDARD: Multiple qualities are generated from the original input,
  6323  	//    to automatically give viewers the best experience for their devices and
  6324  	//    network conditions. Vertical resolution can be up to 1080 and bitrate
  6325  	//    can be up to 8.5 Mbps.
  6326  	//
  6327  	//    * BASIC: Amazon IVS delivers the original input to viewers. The viewer’s
  6328  	//    video-quality choice is limited to the original input. Vertical resolution
  6329  	//    can be up to 480 and bitrate can be up to 1.5 Mbps.
  6330  	Type *string `locationName:"type" type:"string" enum:"ChannelType"`
  6331  }
  6332  
  6333  // String returns the string representation.
  6334  //
  6335  // API parameter values that are decorated as "sensitive" in the API will not
  6336  // be included in the string output. The member name will be present, but the
  6337  // value will be replaced with "sensitive".
  6338  func (s UpdateChannelInput) String() string {
  6339  	return awsutil.Prettify(s)
  6340  }
  6341  
  6342  // GoString returns the string representation.
  6343  //
  6344  // API parameter values that are decorated as "sensitive" in the API will not
  6345  // be included in the string output. The member name will be present, but the
  6346  // value will be replaced with "sensitive".
  6347  func (s UpdateChannelInput) GoString() string {
  6348  	return s.String()
  6349  }
  6350  
  6351  // Validate inspects the fields of the type to determine if they are valid.
  6352  func (s *UpdateChannelInput) Validate() error {
  6353  	invalidParams := request.ErrInvalidParams{Context: "UpdateChannelInput"}
  6354  	if s.Arn == nil {
  6355  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  6356  	}
  6357  	if s.Arn != nil && len(*s.Arn) < 1 {
  6358  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  6359  	}
  6360  
  6361  	if invalidParams.Len() > 0 {
  6362  		return invalidParams
  6363  	}
  6364  	return nil
  6365  }
  6366  
  6367  // SetArn sets the Arn field's value.
  6368  func (s *UpdateChannelInput) SetArn(v string) *UpdateChannelInput {
  6369  	s.Arn = &v
  6370  	return s
  6371  }
  6372  
  6373  // SetAuthorized sets the Authorized field's value.
  6374  func (s *UpdateChannelInput) SetAuthorized(v bool) *UpdateChannelInput {
  6375  	s.Authorized = &v
  6376  	return s
  6377  }
  6378  
  6379  // SetLatencyMode sets the LatencyMode field's value.
  6380  func (s *UpdateChannelInput) SetLatencyMode(v string) *UpdateChannelInput {
  6381  	s.LatencyMode = &v
  6382  	return s
  6383  }
  6384  
  6385  // SetName sets the Name field's value.
  6386  func (s *UpdateChannelInput) SetName(v string) *UpdateChannelInput {
  6387  	s.Name = &v
  6388  	return s
  6389  }
  6390  
  6391  // SetRecordingConfigurationArn sets the RecordingConfigurationArn field's value.
  6392  func (s *UpdateChannelInput) SetRecordingConfigurationArn(v string) *UpdateChannelInput {
  6393  	s.RecordingConfigurationArn = &v
  6394  	return s
  6395  }
  6396  
  6397  // SetType sets the Type field's value.
  6398  func (s *UpdateChannelInput) SetType(v string) *UpdateChannelInput {
  6399  	s.Type = &v
  6400  	return s
  6401  }
  6402  
  6403  type UpdateChannelOutput struct {
  6404  	_ struct{} `type:"structure"`
  6405  
  6406  	// Object specifying a channel.
  6407  	Channel *Channel `locationName:"channel" type:"structure"`
  6408  }
  6409  
  6410  // String returns the string representation.
  6411  //
  6412  // API parameter values that are decorated as "sensitive" in the API will not
  6413  // be included in the string output. The member name will be present, but the
  6414  // value will be replaced with "sensitive".
  6415  func (s UpdateChannelOutput) String() string {
  6416  	return awsutil.Prettify(s)
  6417  }
  6418  
  6419  // GoString returns the string representation.
  6420  //
  6421  // API parameter values that are decorated as "sensitive" in the API will not
  6422  // be included in the string output. The member name will be present, but the
  6423  // value will be replaced with "sensitive".
  6424  func (s UpdateChannelOutput) GoString() string {
  6425  	return s.String()
  6426  }
  6427  
  6428  // SetChannel sets the Channel field's value.
  6429  func (s *UpdateChannelOutput) SetChannel(v *Channel) *UpdateChannelOutput {
  6430  	s.Channel = v
  6431  	return s
  6432  }
  6433  
  6434  type ValidationException struct {
  6435  	_            struct{}                  `type:"structure"`
  6436  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6437  
  6438  	// The input fails to satisfy the constraints specified by an AWS service.
  6439  	ExceptionMessage *string `locationName:"exceptionMessage" type:"string"`
  6440  
  6441  	Message_ *string `locationName:"message" type:"string"`
  6442  }
  6443  
  6444  // String returns the string representation.
  6445  //
  6446  // API parameter values that are decorated as "sensitive" in the API will not
  6447  // be included in the string output. The member name will be present, but the
  6448  // value will be replaced with "sensitive".
  6449  func (s ValidationException) String() string {
  6450  	return awsutil.Prettify(s)
  6451  }
  6452  
  6453  // GoString returns the string representation.
  6454  //
  6455  // API parameter values that are decorated as "sensitive" in the API will not
  6456  // be included in the string output. The member name will be present, but the
  6457  // value will be replaced with "sensitive".
  6458  func (s ValidationException) GoString() string {
  6459  	return s.String()
  6460  }
  6461  
  6462  func newErrorValidationException(v protocol.ResponseMetadata) error {
  6463  	return &ValidationException{
  6464  		RespMetadata: v,
  6465  	}
  6466  }
  6467  
  6468  // Code returns the exception type name.
  6469  func (s *ValidationException) Code() string {
  6470  	return "ValidationException"
  6471  }
  6472  
  6473  // Message returns the exception's message.
  6474  func (s *ValidationException) Message() string {
  6475  	if s.Message_ != nil {
  6476  		return *s.Message_
  6477  	}
  6478  	return ""
  6479  }
  6480  
  6481  // OrigErr always returns nil, satisfies awserr.Error interface.
  6482  func (s *ValidationException) OrigErr() error {
  6483  	return nil
  6484  }
  6485  
  6486  func (s *ValidationException) Error() string {
  6487  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6488  }
  6489  
  6490  // Status code returns the HTTP status code for the request's response error.
  6491  func (s *ValidationException) StatusCode() int {
  6492  	return s.RespMetadata.StatusCode
  6493  }
  6494  
  6495  // RequestID returns the service's response RequestID for request.
  6496  func (s *ValidationException) RequestID() string {
  6497  	return s.RespMetadata.RequestID
  6498  }
  6499  
  6500  const (
  6501  	// ChannelLatencyModeNormal is a ChannelLatencyMode enum value
  6502  	ChannelLatencyModeNormal = "NORMAL"
  6503  
  6504  	// ChannelLatencyModeLow is a ChannelLatencyMode enum value
  6505  	ChannelLatencyModeLow = "LOW"
  6506  )
  6507  
  6508  // ChannelLatencyMode_Values returns all elements of the ChannelLatencyMode enum
  6509  func ChannelLatencyMode_Values() []string {
  6510  	return []string{
  6511  		ChannelLatencyModeNormal,
  6512  		ChannelLatencyModeLow,
  6513  	}
  6514  }
  6515  
  6516  const (
  6517  	// ChannelTypeBasic is a ChannelType enum value
  6518  	ChannelTypeBasic = "BASIC"
  6519  
  6520  	// ChannelTypeStandard is a ChannelType enum value
  6521  	ChannelTypeStandard = "STANDARD"
  6522  )
  6523  
  6524  // ChannelType_Values returns all elements of the ChannelType enum
  6525  func ChannelType_Values() []string {
  6526  	return []string{
  6527  		ChannelTypeBasic,
  6528  		ChannelTypeStandard,
  6529  	}
  6530  }
  6531  
  6532  const (
  6533  	// RecordingConfigurationStateCreating is a RecordingConfigurationState enum value
  6534  	RecordingConfigurationStateCreating = "CREATING"
  6535  
  6536  	// RecordingConfigurationStateCreateFailed is a RecordingConfigurationState enum value
  6537  	RecordingConfigurationStateCreateFailed = "CREATE_FAILED"
  6538  
  6539  	// RecordingConfigurationStateActive is a RecordingConfigurationState enum value
  6540  	RecordingConfigurationStateActive = "ACTIVE"
  6541  )
  6542  
  6543  // RecordingConfigurationState_Values returns all elements of the RecordingConfigurationState enum
  6544  func RecordingConfigurationState_Values() []string {
  6545  	return []string{
  6546  		RecordingConfigurationStateCreating,
  6547  		RecordingConfigurationStateCreateFailed,
  6548  		RecordingConfigurationStateActive,
  6549  	}
  6550  }
  6551  
  6552  const (
  6553  	// StreamHealthHealthy is a StreamHealth enum value
  6554  	StreamHealthHealthy = "HEALTHY"
  6555  
  6556  	// StreamHealthStarving is a StreamHealth enum value
  6557  	StreamHealthStarving = "STARVING"
  6558  
  6559  	// StreamHealthUnknown is a StreamHealth enum value
  6560  	StreamHealthUnknown = "UNKNOWN"
  6561  )
  6562  
  6563  // StreamHealth_Values returns all elements of the StreamHealth enum
  6564  func StreamHealth_Values() []string {
  6565  	return []string{
  6566  		StreamHealthHealthy,
  6567  		StreamHealthStarving,
  6568  		StreamHealthUnknown,
  6569  	}
  6570  }
  6571  
  6572  const (
  6573  	// StreamStateLive is a StreamState enum value
  6574  	StreamStateLive = "LIVE"
  6575  
  6576  	// StreamStateOffline is a StreamState enum value
  6577  	StreamStateOffline = "OFFLINE"
  6578  )
  6579  
  6580  // StreamState_Values returns all elements of the StreamState enum
  6581  func StreamState_Values() []string {
  6582  	return []string{
  6583  		StreamStateLive,
  6584  		StreamStateOffline,
  6585  	}
  6586  }