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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package kinesisvideo
     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 opCreateSignalingChannel = "CreateSignalingChannel"
    17  
    18  // CreateSignalingChannelRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateSignalingChannel 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 CreateSignalingChannel for more information on using the CreateSignalingChannel
    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 CreateSignalingChannelRequest method.
    34  //    req, resp := client.CreateSignalingChannelRequest(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/kinesisvideo-2017-09-30/CreateSignalingChannel
    42  func (c *KinesisVideo) CreateSignalingChannelRequest(input *CreateSignalingChannelInput) (req *request.Request, output *CreateSignalingChannelOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateSignalingChannel,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/createSignalingChannel",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateSignalingChannelInput{}
    51  	}
    52  
    53  	output = &CreateSignalingChannelOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CreateSignalingChannel API operation for Amazon Kinesis Video Streams.
    59  //
    60  // Creates a signaling channel.
    61  //
    62  // CreateSignalingChannel is an asynchronous operation.
    63  //
    64  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    65  // with awserr.Error's Code and Message methods to get detailed information about
    66  // the error.
    67  //
    68  // See the AWS API reference guide for Amazon Kinesis Video Streams's
    69  // API operation CreateSignalingChannel for usage and error information.
    70  //
    71  // Returned Error Types:
    72  //   * InvalidArgumentException
    73  //   The value for this input parameter is invalid.
    74  //
    75  //   * ClientLimitExceededException
    76  //   Kinesis Video Streams has throttled the request because you have exceeded
    77  //   the limit of allowed client calls. Try making the call later.
    78  //
    79  //   * AccountChannelLimitExceededException
    80  //   You have reached the maximum limit of active signaling channels for this
    81  //   AWS account in this region.
    82  //
    83  //   * ResourceInUseException
    84  //   The signaling channel is currently not available for this operation.
    85  //
    86  //   * AccessDeniedException
    87  //   You do not have required permissions to perform this operation.
    88  //
    89  //   * TagsPerResourceExceededLimitException
    90  //   You have exceeded the limit of tags that you can associate with the resource.
    91  //   Kinesis video streams support up to 50 tags.
    92  //
    93  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/CreateSignalingChannel
    94  func (c *KinesisVideo) CreateSignalingChannel(input *CreateSignalingChannelInput) (*CreateSignalingChannelOutput, error) {
    95  	req, out := c.CreateSignalingChannelRequest(input)
    96  	return out, req.Send()
    97  }
    98  
    99  // CreateSignalingChannelWithContext is the same as CreateSignalingChannel with the addition of
   100  // the ability to pass a context and additional request options.
   101  //
   102  // See CreateSignalingChannel for details on how to use this API operation.
   103  //
   104  // The context must be non-nil and will be used for request cancellation. If
   105  // the context is nil a panic will occur. In the future the SDK may create
   106  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   107  // for more information on using Contexts.
   108  func (c *KinesisVideo) CreateSignalingChannelWithContext(ctx aws.Context, input *CreateSignalingChannelInput, opts ...request.Option) (*CreateSignalingChannelOutput, error) {
   109  	req, out := c.CreateSignalingChannelRequest(input)
   110  	req.SetContext(ctx)
   111  	req.ApplyOptions(opts...)
   112  	return out, req.Send()
   113  }
   114  
   115  const opCreateStream = "CreateStream"
   116  
   117  // CreateStreamRequest generates a "aws/request.Request" representing the
   118  // client's request for the CreateStream operation. The "output" return
   119  // value will be populated with the request's response once the request completes
   120  // successfully.
   121  //
   122  // Use "Send" method on the returned Request to send the API call to the service.
   123  // the "output" return value is not valid until after Send returns without error.
   124  //
   125  // See CreateStream for more information on using the CreateStream
   126  // API call, and error handling.
   127  //
   128  // This method is useful when you want to inject custom logic or configuration
   129  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   130  //
   131  //
   132  //    // Example sending a request using the CreateStreamRequest method.
   133  //    req, resp := client.CreateStreamRequest(params)
   134  //
   135  //    err := req.Send()
   136  //    if err == nil { // resp is now filled
   137  //        fmt.Println(resp)
   138  //    }
   139  //
   140  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/CreateStream
   141  func (c *KinesisVideo) CreateStreamRequest(input *CreateStreamInput) (req *request.Request, output *CreateStreamOutput) {
   142  	op := &request.Operation{
   143  		Name:       opCreateStream,
   144  		HTTPMethod: "POST",
   145  		HTTPPath:   "/createStream",
   146  	}
   147  
   148  	if input == nil {
   149  		input = &CreateStreamInput{}
   150  	}
   151  
   152  	output = &CreateStreamOutput{}
   153  	req = c.newRequest(op, input, output)
   154  	return
   155  }
   156  
   157  // CreateStream API operation for Amazon Kinesis Video Streams.
   158  //
   159  // Creates a new Kinesis video stream.
   160  //
   161  // When you create a new stream, Kinesis Video Streams assigns it a version
   162  // number. When you change the stream's metadata, Kinesis Video Streams updates
   163  // the version.
   164  //
   165  // CreateStream is an asynchronous operation.
   166  //
   167  // For information about how the service works, see How it Works (https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-it-works.html).
   168  //
   169  // You must have permissions for the KinesisVideo:CreateStream action.
   170  //
   171  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   172  // with awserr.Error's Code and Message methods to get detailed information about
   173  // the error.
   174  //
   175  // See the AWS API reference guide for Amazon Kinesis Video Streams's
   176  // API operation CreateStream for usage and error information.
   177  //
   178  // Returned Error Types:
   179  //   * AccountStreamLimitExceededException
   180  //   The number of streams created for the account is too high.
   181  //
   182  //   * DeviceStreamLimitExceededException
   183  //   Not implemented.
   184  //
   185  //   * ResourceInUseException
   186  //   The signaling channel is currently not available for this operation.
   187  //
   188  //   * InvalidDeviceException
   189  //   Not implemented.
   190  //
   191  //   * InvalidArgumentException
   192  //   The value for this input parameter is invalid.
   193  //
   194  //   * ClientLimitExceededException
   195  //   Kinesis Video Streams has throttled the request because you have exceeded
   196  //   the limit of allowed client calls. Try making the call later.
   197  //
   198  //   * TagsPerResourceExceededLimitException
   199  //   You have exceeded the limit of tags that you can associate with the resource.
   200  //   Kinesis video streams support up to 50 tags.
   201  //
   202  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/CreateStream
   203  func (c *KinesisVideo) CreateStream(input *CreateStreamInput) (*CreateStreamOutput, error) {
   204  	req, out := c.CreateStreamRequest(input)
   205  	return out, req.Send()
   206  }
   207  
   208  // CreateStreamWithContext is the same as CreateStream with the addition of
   209  // the ability to pass a context and additional request options.
   210  //
   211  // See CreateStream for details on how to use this API operation.
   212  //
   213  // The context must be non-nil and will be used for request cancellation. If
   214  // the context is nil a panic will occur. In the future the SDK may create
   215  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   216  // for more information on using Contexts.
   217  func (c *KinesisVideo) CreateStreamWithContext(ctx aws.Context, input *CreateStreamInput, opts ...request.Option) (*CreateStreamOutput, error) {
   218  	req, out := c.CreateStreamRequest(input)
   219  	req.SetContext(ctx)
   220  	req.ApplyOptions(opts...)
   221  	return out, req.Send()
   222  }
   223  
   224  const opDeleteSignalingChannel = "DeleteSignalingChannel"
   225  
   226  // DeleteSignalingChannelRequest generates a "aws/request.Request" representing the
   227  // client's request for the DeleteSignalingChannel operation. The "output" return
   228  // value will be populated with the request's response once the request completes
   229  // successfully.
   230  //
   231  // Use "Send" method on the returned Request to send the API call to the service.
   232  // the "output" return value is not valid until after Send returns without error.
   233  //
   234  // See DeleteSignalingChannel for more information on using the DeleteSignalingChannel
   235  // API call, and error handling.
   236  //
   237  // This method is useful when you want to inject custom logic or configuration
   238  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   239  //
   240  //
   241  //    // Example sending a request using the DeleteSignalingChannelRequest method.
   242  //    req, resp := client.DeleteSignalingChannelRequest(params)
   243  //
   244  //    err := req.Send()
   245  //    if err == nil { // resp is now filled
   246  //        fmt.Println(resp)
   247  //    }
   248  //
   249  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DeleteSignalingChannel
   250  func (c *KinesisVideo) DeleteSignalingChannelRequest(input *DeleteSignalingChannelInput) (req *request.Request, output *DeleteSignalingChannelOutput) {
   251  	op := &request.Operation{
   252  		Name:       opDeleteSignalingChannel,
   253  		HTTPMethod: "POST",
   254  		HTTPPath:   "/deleteSignalingChannel",
   255  	}
   256  
   257  	if input == nil {
   258  		input = &DeleteSignalingChannelInput{}
   259  	}
   260  
   261  	output = &DeleteSignalingChannelOutput{}
   262  	req = c.newRequest(op, input, output)
   263  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   264  	return
   265  }
   266  
   267  // DeleteSignalingChannel API operation for Amazon Kinesis Video Streams.
   268  //
   269  // Deletes a specified signaling channel. DeleteSignalingChannel is an asynchronous
   270  // operation. If you don't specify the channel's current version, the most recent
   271  // version is deleted.
   272  //
   273  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   274  // with awserr.Error's Code and Message methods to get detailed information about
   275  // the error.
   276  //
   277  // See the AWS API reference guide for Amazon Kinesis Video Streams's
   278  // API operation DeleteSignalingChannel for usage and error information.
   279  //
   280  // Returned Error Types:
   281  //   * InvalidArgumentException
   282  //   The value for this input parameter is invalid.
   283  //
   284  //   * ClientLimitExceededException
   285  //   Kinesis Video Streams has throttled the request because you have exceeded
   286  //   the limit of allowed client calls. Try making the call later.
   287  //
   288  //   * ResourceNotFoundException
   289  //   Amazon Kinesis Video Streams can't find the stream that you specified.
   290  //
   291  //   * AccessDeniedException
   292  //   You do not have required permissions to perform this operation.
   293  //
   294  //   * VersionMismatchException
   295  //   The stream version that you specified is not the latest version. To get the
   296  //   latest version, use the DescribeStream (https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DescribeStream.html)
   297  //   API.
   298  //
   299  //   * ResourceInUseException
   300  //   The signaling channel is currently not available for this operation.
   301  //
   302  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DeleteSignalingChannel
   303  func (c *KinesisVideo) DeleteSignalingChannel(input *DeleteSignalingChannelInput) (*DeleteSignalingChannelOutput, error) {
   304  	req, out := c.DeleteSignalingChannelRequest(input)
   305  	return out, req.Send()
   306  }
   307  
   308  // DeleteSignalingChannelWithContext is the same as DeleteSignalingChannel with the addition of
   309  // the ability to pass a context and additional request options.
   310  //
   311  // See DeleteSignalingChannel for details on how to use this API operation.
   312  //
   313  // The context must be non-nil and will be used for request cancellation. If
   314  // the context is nil a panic will occur. In the future the SDK may create
   315  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   316  // for more information on using Contexts.
   317  func (c *KinesisVideo) DeleteSignalingChannelWithContext(ctx aws.Context, input *DeleteSignalingChannelInput, opts ...request.Option) (*DeleteSignalingChannelOutput, error) {
   318  	req, out := c.DeleteSignalingChannelRequest(input)
   319  	req.SetContext(ctx)
   320  	req.ApplyOptions(opts...)
   321  	return out, req.Send()
   322  }
   323  
   324  const opDeleteStream = "DeleteStream"
   325  
   326  // DeleteStreamRequest generates a "aws/request.Request" representing the
   327  // client's request for the DeleteStream operation. The "output" return
   328  // value will be populated with the request's response once the request completes
   329  // successfully.
   330  //
   331  // Use "Send" method on the returned Request to send the API call to the service.
   332  // the "output" return value is not valid until after Send returns without error.
   333  //
   334  // See DeleteStream for more information on using the DeleteStream
   335  // API call, and error handling.
   336  //
   337  // This method is useful when you want to inject custom logic or configuration
   338  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   339  //
   340  //
   341  //    // Example sending a request using the DeleteStreamRequest method.
   342  //    req, resp := client.DeleteStreamRequest(params)
   343  //
   344  //    err := req.Send()
   345  //    if err == nil { // resp is now filled
   346  //        fmt.Println(resp)
   347  //    }
   348  //
   349  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DeleteStream
   350  func (c *KinesisVideo) DeleteStreamRequest(input *DeleteStreamInput) (req *request.Request, output *DeleteStreamOutput) {
   351  	op := &request.Operation{
   352  		Name:       opDeleteStream,
   353  		HTTPMethod: "POST",
   354  		HTTPPath:   "/deleteStream",
   355  	}
   356  
   357  	if input == nil {
   358  		input = &DeleteStreamInput{}
   359  	}
   360  
   361  	output = &DeleteStreamOutput{}
   362  	req = c.newRequest(op, input, output)
   363  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   364  	return
   365  }
   366  
   367  // DeleteStream API operation for Amazon Kinesis Video Streams.
   368  //
   369  // Deletes a Kinesis video stream and the data contained in the stream.
   370  //
   371  // This method marks the stream for deletion, and makes the data in the stream
   372  // inaccessible immediately.
   373  //
   374  // To ensure that you have the latest version of the stream before deleting
   375  // it, you can specify the stream version. Kinesis Video Streams assigns a version
   376  // to each stream. When you update a stream, Kinesis Video Streams assigns a
   377  // new version number. To get the latest stream version, use the DescribeStream
   378  // API.
   379  //
   380  // This operation requires permission for the KinesisVideo:DeleteStream action.
   381  //
   382  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   383  // with awserr.Error's Code and Message methods to get detailed information about
   384  // the error.
   385  //
   386  // See the AWS API reference guide for Amazon Kinesis Video Streams's
   387  // API operation DeleteStream for usage and error information.
   388  //
   389  // Returned Error Types:
   390  //   * ClientLimitExceededException
   391  //   Kinesis Video Streams has throttled the request because you have exceeded
   392  //   the limit of allowed client calls. Try making the call later.
   393  //
   394  //   * InvalidArgumentException
   395  //   The value for this input parameter is invalid.
   396  //
   397  //   * ResourceNotFoundException
   398  //   Amazon Kinesis Video Streams can't find the stream that you specified.
   399  //
   400  //   * NotAuthorizedException
   401  //   The caller is not authorized to perform this operation.
   402  //
   403  //   * VersionMismatchException
   404  //   The stream version that you specified is not the latest version. To get the
   405  //   latest version, use the DescribeStream (https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DescribeStream.html)
   406  //   API.
   407  //
   408  //   * ResourceInUseException
   409  //   The signaling channel is currently not available for this operation.
   410  //
   411  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DeleteStream
   412  func (c *KinesisVideo) DeleteStream(input *DeleteStreamInput) (*DeleteStreamOutput, error) {
   413  	req, out := c.DeleteStreamRequest(input)
   414  	return out, req.Send()
   415  }
   416  
   417  // DeleteStreamWithContext is the same as DeleteStream with the addition of
   418  // the ability to pass a context and additional request options.
   419  //
   420  // See DeleteStream for details on how to use this API operation.
   421  //
   422  // The context must be non-nil and will be used for request cancellation. If
   423  // the context is nil a panic will occur. In the future the SDK may create
   424  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   425  // for more information on using Contexts.
   426  func (c *KinesisVideo) DeleteStreamWithContext(ctx aws.Context, input *DeleteStreamInput, opts ...request.Option) (*DeleteStreamOutput, error) {
   427  	req, out := c.DeleteStreamRequest(input)
   428  	req.SetContext(ctx)
   429  	req.ApplyOptions(opts...)
   430  	return out, req.Send()
   431  }
   432  
   433  const opDescribeSignalingChannel = "DescribeSignalingChannel"
   434  
   435  // DescribeSignalingChannelRequest generates a "aws/request.Request" representing the
   436  // client's request for the DescribeSignalingChannel operation. The "output" return
   437  // value will be populated with the request's response once the request completes
   438  // successfully.
   439  //
   440  // Use "Send" method on the returned Request to send the API call to the service.
   441  // the "output" return value is not valid until after Send returns without error.
   442  //
   443  // See DescribeSignalingChannel for more information on using the DescribeSignalingChannel
   444  // API call, and error handling.
   445  //
   446  // This method is useful when you want to inject custom logic or configuration
   447  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   448  //
   449  //
   450  //    // Example sending a request using the DescribeSignalingChannelRequest method.
   451  //    req, resp := client.DescribeSignalingChannelRequest(params)
   452  //
   453  //    err := req.Send()
   454  //    if err == nil { // resp is now filled
   455  //        fmt.Println(resp)
   456  //    }
   457  //
   458  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DescribeSignalingChannel
   459  func (c *KinesisVideo) DescribeSignalingChannelRequest(input *DescribeSignalingChannelInput) (req *request.Request, output *DescribeSignalingChannelOutput) {
   460  	op := &request.Operation{
   461  		Name:       opDescribeSignalingChannel,
   462  		HTTPMethod: "POST",
   463  		HTTPPath:   "/describeSignalingChannel",
   464  	}
   465  
   466  	if input == nil {
   467  		input = &DescribeSignalingChannelInput{}
   468  	}
   469  
   470  	output = &DescribeSignalingChannelOutput{}
   471  	req = c.newRequest(op, input, output)
   472  	return
   473  }
   474  
   475  // DescribeSignalingChannel API operation for Amazon Kinesis Video Streams.
   476  //
   477  // Returns the most current information about the signaling channel. You must
   478  // specify either the name or the Amazon Resource Name (ARN) of the channel
   479  // that you want to describe.
   480  //
   481  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   482  // with awserr.Error's Code and Message methods to get detailed information about
   483  // the error.
   484  //
   485  // See the AWS API reference guide for Amazon Kinesis Video Streams's
   486  // API operation DescribeSignalingChannel for usage and error information.
   487  //
   488  // Returned Error Types:
   489  //   * InvalidArgumentException
   490  //   The value for this input parameter is invalid.
   491  //
   492  //   * ClientLimitExceededException
   493  //   Kinesis Video Streams has throttled the request because you have exceeded
   494  //   the limit of allowed client calls. Try making the call later.
   495  //
   496  //   * ResourceNotFoundException
   497  //   Amazon Kinesis Video Streams can't find the stream that you specified.
   498  //
   499  //   * AccessDeniedException
   500  //   You do not have required permissions to perform this operation.
   501  //
   502  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DescribeSignalingChannel
   503  func (c *KinesisVideo) DescribeSignalingChannel(input *DescribeSignalingChannelInput) (*DescribeSignalingChannelOutput, error) {
   504  	req, out := c.DescribeSignalingChannelRequest(input)
   505  	return out, req.Send()
   506  }
   507  
   508  // DescribeSignalingChannelWithContext is the same as DescribeSignalingChannel with the addition of
   509  // the ability to pass a context and additional request options.
   510  //
   511  // See DescribeSignalingChannel for details on how to use this API operation.
   512  //
   513  // The context must be non-nil and will be used for request cancellation. If
   514  // the context is nil a panic will occur. In the future the SDK may create
   515  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   516  // for more information on using Contexts.
   517  func (c *KinesisVideo) DescribeSignalingChannelWithContext(ctx aws.Context, input *DescribeSignalingChannelInput, opts ...request.Option) (*DescribeSignalingChannelOutput, error) {
   518  	req, out := c.DescribeSignalingChannelRequest(input)
   519  	req.SetContext(ctx)
   520  	req.ApplyOptions(opts...)
   521  	return out, req.Send()
   522  }
   523  
   524  const opDescribeStream = "DescribeStream"
   525  
   526  // DescribeStreamRequest generates a "aws/request.Request" representing the
   527  // client's request for the DescribeStream operation. The "output" return
   528  // value will be populated with the request's response once the request completes
   529  // successfully.
   530  //
   531  // Use "Send" method on the returned Request to send the API call to the service.
   532  // the "output" return value is not valid until after Send returns without error.
   533  //
   534  // See DescribeStream for more information on using the DescribeStream
   535  // API call, and error handling.
   536  //
   537  // This method is useful when you want to inject custom logic or configuration
   538  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   539  //
   540  //
   541  //    // Example sending a request using the DescribeStreamRequest method.
   542  //    req, resp := client.DescribeStreamRequest(params)
   543  //
   544  //    err := req.Send()
   545  //    if err == nil { // resp is now filled
   546  //        fmt.Println(resp)
   547  //    }
   548  //
   549  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DescribeStream
   550  func (c *KinesisVideo) DescribeStreamRequest(input *DescribeStreamInput) (req *request.Request, output *DescribeStreamOutput) {
   551  	op := &request.Operation{
   552  		Name:       opDescribeStream,
   553  		HTTPMethod: "POST",
   554  		HTTPPath:   "/describeStream",
   555  	}
   556  
   557  	if input == nil {
   558  		input = &DescribeStreamInput{}
   559  	}
   560  
   561  	output = &DescribeStreamOutput{}
   562  	req = c.newRequest(op, input, output)
   563  	return
   564  }
   565  
   566  // DescribeStream API operation for Amazon Kinesis Video Streams.
   567  //
   568  // Returns the most current information about the specified stream. You must
   569  // specify either the StreamName or the StreamARN.
   570  //
   571  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   572  // with awserr.Error's Code and Message methods to get detailed information about
   573  // the error.
   574  //
   575  // See the AWS API reference guide for Amazon Kinesis Video Streams's
   576  // API operation DescribeStream for usage and error information.
   577  //
   578  // Returned Error Types:
   579  //   * InvalidArgumentException
   580  //   The value for this input parameter is invalid.
   581  //
   582  //   * ResourceNotFoundException
   583  //   Amazon Kinesis Video Streams can't find the stream that you specified.
   584  //
   585  //   * ClientLimitExceededException
   586  //   Kinesis Video Streams has throttled the request because you have exceeded
   587  //   the limit of allowed client calls. Try making the call later.
   588  //
   589  //   * NotAuthorizedException
   590  //   The caller is not authorized to perform this operation.
   591  //
   592  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DescribeStream
   593  func (c *KinesisVideo) DescribeStream(input *DescribeStreamInput) (*DescribeStreamOutput, error) {
   594  	req, out := c.DescribeStreamRequest(input)
   595  	return out, req.Send()
   596  }
   597  
   598  // DescribeStreamWithContext is the same as DescribeStream with the addition of
   599  // the ability to pass a context and additional request options.
   600  //
   601  // See DescribeStream for details on how to use this API operation.
   602  //
   603  // The context must be non-nil and will be used for request cancellation. If
   604  // the context is nil a panic will occur. In the future the SDK may create
   605  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   606  // for more information on using Contexts.
   607  func (c *KinesisVideo) DescribeStreamWithContext(ctx aws.Context, input *DescribeStreamInput, opts ...request.Option) (*DescribeStreamOutput, error) {
   608  	req, out := c.DescribeStreamRequest(input)
   609  	req.SetContext(ctx)
   610  	req.ApplyOptions(opts...)
   611  	return out, req.Send()
   612  }
   613  
   614  const opGetDataEndpoint = "GetDataEndpoint"
   615  
   616  // GetDataEndpointRequest generates a "aws/request.Request" representing the
   617  // client's request for the GetDataEndpoint operation. The "output" return
   618  // value will be populated with the request's response once the request completes
   619  // successfully.
   620  //
   621  // Use "Send" method on the returned Request to send the API call to the service.
   622  // the "output" return value is not valid until after Send returns without error.
   623  //
   624  // See GetDataEndpoint for more information on using the GetDataEndpoint
   625  // API call, and error handling.
   626  //
   627  // This method is useful when you want to inject custom logic or configuration
   628  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   629  //
   630  //
   631  //    // Example sending a request using the GetDataEndpointRequest method.
   632  //    req, resp := client.GetDataEndpointRequest(params)
   633  //
   634  //    err := req.Send()
   635  //    if err == nil { // resp is now filled
   636  //        fmt.Println(resp)
   637  //    }
   638  //
   639  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/GetDataEndpoint
   640  func (c *KinesisVideo) GetDataEndpointRequest(input *GetDataEndpointInput) (req *request.Request, output *GetDataEndpointOutput) {
   641  	op := &request.Operation{
   642  		Name:       opGetDataEndpoint,
   643  		HTTPMethod: "POST",
   644  		HTTPPath:   "/getDataEndpoint",
   645  	}
   646  
   647  	if input == nil {
   648  		input = &GetDataEndpointInput{}
   649  	}
   650  
   651  	output = &GetDataEndpointOutput{}
   652  	req = c.newRequest(op, input, output)
   653  	return
   654  }
   655  
   656  // GetDataEndpoint API operation for Amazon Kinesis Video Streams.
   657  //
   658  // Gets an endpoint for a specified stream for either reading or writing. Use
   659  // this endpoint in your application to read from the specified stream (using
   660  // the GetMedia or GetMediaForFragmentList operations) or write to it (using
   661  // the PutMedia operation).
   662  //
   663  // The returned endpoint does not have the API name appended. The client needs
   664  // to add the API name to the returned endpoint.
   665  //
   666  // In the request, specify the stream either by StreamName or StreamARN.
   667  //
   668  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   669  // with awserr.Error's Code and Message methods to get detailed information about
   670  // the error.
   671  //
   672  // See the AWS API reference guide for Amazon Kinesis Video Streams's
   673  // API operation GetDataEndpoint for usage and error information.
   674  //
   675  // Returned Error Types:
   676  //   * InvalidArgumentException
   677  //   The value for this input parameter is invalid.
   678  //
   679  //   * ResourceNotFoundException
   680  //   Amazon Kinesis Video Streams can't find the stream that you specified.
   681  //
   682  //   * ClientLimitExceededException
   683  //   Kinesis Video Streams has throttled the request because you have exceeded
   684  //   the limit of allowed client calls. Try making the call later.
   685  //
   686  //   * NotAuthorizedException
   687  //   The caller is not authorized to perform this operation.
   688  //
   689  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/GetDataEndpoint
   690  func (c *KinesisVideo) GetDataEndpoint(input *GetDataEndpointInput) (*GetDataEndpointOutput, error) {
   691  	req, out := c.GetDataEndpointRequest(input)
   692  	return out, req.Send()
   693  }
   694  
   695  // GetDataEndpointWithContext is the same as GetDataEndpoint with the addition of
   696  // the ability to pass a context and additional request options.
   697  //
   698  // See GetDataEndpoint for details on how to use this API operation.
   699  //
   700  // The context must be non-nil and will be used for request cancellation. If
   701  // the context is nil a panic will occur. In the future the SDK may create
   702  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   703  // for more information on using Contexts.
   704  func (c *KinesisVideo) GetDataEndpointWithContext(ctx aws.Context, input *GetDataEndpointInput, opts ...request.Option) (*GetDataEndpointOutput, error) {
   705  	req, out := c.GetDataEndpointRequest(input)
   706  	req.SetContext(ctx)
   707  	req.ApplyOptions(opts...)
   708  	return out, req.Send()
   709  }
   710  
   711  const opGetSignalingChannelEndpoint = "GetSignalingChannelEndpoint"
   712  
   713  // GetSignalingChannelEndpointRequest generates a "aws/request.Request" representing the
   714  // client's request for the GetSignalingChannelEndpoint operation. The "output" return
   715  // value will be populated with the request's response once the request completes
   716  // successfully.
   717  //
   718  // Use "Send" method on the returned Request to send the API call to the service.
   719  // the "output" return value is not valid until after Send returns without error.
   720  //
   721  // See GetSignalingChannelEndpoint for more information on using the GetSignalingChannelEndpoint
   722  // API call, and error handling.
   723  //
   724  // This method is useful when you want to inject custom logic or configuration
   725  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   726  //
   727  //
   728  //    // Example sending a request using the GetSignalingChannelEndpointRequest method.
   729  //    req, resp := client.GetSignalingChannelEndpointRequest(params)
   730  //
   731  //    err := req.Send()
   732  //    if err == nil { // resp is now filled
   733  //        fmt.Println(resp)
   734  //    }
   735  //
   736  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/GetSignalingChannelEndpoint
   737  func (c *KinesisVideo) GetSignalingChannelEndpointRequest(input *GetSignalingChannelEndpointInput) (req *request.Request, output *GetSignalingChannelEndpointOutput) {
   738  	op := &request.Operation{
   739  		Name:       opGetSignalingChannelEndpoint,
   740  		HTTPMethod: "POST",
   741  		HTTPPath:   "/getSignalingChannelEndpoint",
   742  	}
   743  
   744  	if input == nil {
   745  		input = &GetSignalingChannelEndpointInput{}
   746  	}
   747  
   748  	output = &GetSignalingChannelEndpointOutput{}
   749  	req = c.newRequest(op, input, output)
   750  	return
   751  }
   752  
   753  // GetSignalingChannelEndpoint API operation for Amazon Kinesis Video Streams.
   754  //
   755  // Provides an endpoint for the specified signaling channel to send and receive
   756  // messages. This API uses the SingleMasterChannelEndpointConfiguration input
   757  // parameter, which consists of the Protocols and Role properties.
   758  //
   759  // Protocols is used to determine the communication mechanism. For example,
   760  // if you specify WSS as the protocol, this API produces a secure websocket
   761  // endpoint. If you specify HTTPS as the protocol, this API generates an HTTPS
   762  // endpoint.
   763  //
   764  // Role determines the messaging permissions. A MASTER role results in this
   765  // API generating an endpoint that a client can use to communicate with any
   766  // of the viewers on the channel. A VIEWER role results in this API generating
   767  // an endpoint that a client can use to communicate only with a MASTER.
   768  //
   769  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   770  // with awserr.Error's Code and Message methods to get detailed information about
   771  // the error.
   772  //
   773  // See the AWS API reference guide for Amazon Kinesis Video Streams's
   774  // API operation GetSignalingChannelEndpoint for usage and error information.
   775  //
   776  // Returned Error Types:
   777  //   * InvalidArgumentException
   778  //   The value for this input parameter is invalid.
   779  //
   780  //   * ClientLimitExceededException
   781  //   Kinesis Video Streams has throttled the request because you have exceeded
   782  //   the limit of allowed client calls. Try making the call later.
   783  //
   784  //   * ResourceNotFoundException
   785  //   Amazon Kinesis Video Streams can't find the stream that you specified.
   786  //
   787  //   * ResourceInUseException
   788  //   The signaling channel is currently not available for this operation.
   789  //
   790  //   * AccessDeniedException
   791  //   You do not have required permissions to perform this operation.
   792  //
   793  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/GetSignalingChannelEndpoint
   794  func (c *KinesisVideo) GetSignalingChannelEndpoint(input *GetSignalingChannelEndpointInput) (*GetSignalingChannelEndpointOutput, error) {
   795  	req, out := c.GetSignalingChannelEndpointRequest(input)
   796  	return out, req.Send()
   797  }
   798  
   799  // GetSignalingChannelEndpointWithContext is the same as GetSignalingChannelEndpoint with the addition of
   800  // the ability to pass a context and additional request options.
   801  //
   802  // See GetSignalingChannelEndpoint for details on how to use this API operation.
   803  //
   804  // The context must be non-nil and will be used for request cancellation. If
   805  // the context is nil a panic will occur. In the future the SDK may create
   806  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   807  // for more information on using Contexts.
   808  func (c *KinesisVideo) GetSignalingChannelEndpointWithContext(ctx aws.Context, input *GetSignalingChannelEndpointInput, opts ...request.Option) (*GetSignalingChannelEndpointOutput, error) {
   809  	req, out := c.GetSignalingChannelEndpointRequest(input)
   810  	req.SetContext(ctx)
   811  	req.ApplyOptions(opts...)
   812  	return out, req.Send()
   813  }
   814  
   815  const opListSignalingChannels = "ListSignalingChannels"
   816  
   817  // ListSignalingChannelsRequest generates a "aws/request.Request" representing the
   818  // client's request for the ListSignalingChannels operation. The "output" return
   819  // value will be populated with the request's response once the request completes
   820  // successfully.
   821  //
   822  // Use "Send" method on the returned Request to send the API call to the service.
   823  // the "output" return value is not valid until after Send returns without error.
   824  //
   825  // See ListSignalingChannels for more information on using the ListSignalingChannels
   826  // API call, and error handling.
   827  //
   828  // This method is useful when you want to inject custom logic or configuration
   829  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   830  //
   831  //
   832  //    // Example sending a request using the ListSignalingChannelsRequest method.
   833  //    req, resp := client.ListSignalingChannelsRequest(params)
   834  //
   835  //    err := req.Send()
   836  //    if err == nil { // resp is now filled
   837  //        fmt.Println(resp)
   838  //    }
   839  //
   840  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/ListSignalingChannels
   841  func (c *KinesisVideo) ListSignalingChannelsRequest(input *ListSignalingChannelsInput) (req *request.Request, output *ListSignalingChannelsOutput) {
   842  	op := &request.Operation{
   843  		Name:       opListSignalingChannels,
   844  		HTTPMethod: "POST",
   845  		HTTPPath:   "/listSignalingChannels",
   846  		Paginator: &request.Paginator{
   847  			InputTokens:     []string{"NextToken"},
   848  			OutputTokens:    []string{"NextToken"},
   849  			LimitToken:      "MaxResults",
   850  			TruncationToken: "",
   851  		},
   852  	}
   853  
   854  	if input == nil {
   855  		input = &ListSignalingChannelsInput{}
   856  	}
   857  
   858  	output = &ListSignalingChannelsOutput{}
   859  	req = c.newRequest(op, input, output)
   860  	return
   861  }
   862  
   863  // ListSignalingChannels API operation for Amazon Kinesis Video Streams.
   864  //
   865  // Returns an array of ChannelInfo objects. Each object describes a signaling
   866  // channel. To retrieve only those channels that satisfy a specific condition,
   867  // you can specify a ChannelNameCondition.
   868  //
   869  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   870  // with awserr.Error's Code and Message methods to get detailed information about
   871  // the error.
   872  //
   873  // See the AWS API reference guide for Amazon Kinesis Video Streams's
   874  // API operation ListSignalingChannels for usage and error information.
   875  //
   876  // Returned Error Types:
   877  //   * InvalidArgumentException
   878  //   The value for this input parameter is invalid.
   879  //
   880  //   * ClientLimitExceededException
   881  //   Kinesis Video Streams has throttled the request because you have exceeded
   882  //   the limit of allowed client calls. Try making the call later.
   883  //
   884  //   * AccessDeniedException
   885  //   You do not have required permissions to perform this operation.
   886  //
   887  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/ListSignalingChannels
   888  func (c *KinesisVideo) ListSignalingChannels(input *ListSignalingChannelsInput) (*ListSignalingChannelsOutput, error) {
   889  	req, out := c.ListSignalingChannelsRequest(input)
   890  	return out, req.Send()
   891  }
   892  
   893  // ListSignalingChannelsWithContext is the same as ListSignalingChannels with the addition of
   894  // the ability to pass a context and additional request options.
   895  //
   896  // See ListSignalingChannels for details on how to use this API operation.
   897  //
   898  // The context must be non-nil and will be used for request cancellation. If
   899  // the context is nil a panic will occur. In the future the SDK may create
   900  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   901  // for more information on using Contexts.
   902  func (c *KinesisVideo) ListSignalingChannelsWithContext(ctx aws.Context, input *ListSignalingChannelsInput, opts ...request.Option) (*ListSignalingChannelsOutput, error) {
   903  	req, out := c.ListSignalingChannelsRequest(input)
   904  	req.SetContext(ctx)
   905  	req.ApplyOptions(opts...)
   906  	return out, req.Send()
   907  }
   908  
   909  // ListSignalingChannelsPages iterates over the pages of a ListSignalingChannels operation,
   910  // calling the "fn" function with the response data for each page. To stop
   911  // iterating, return false from the fn function.
   912  //
   913  // See ListSignalingChannels method for more information on how to use this operation.
   914  //
   915  // Note: This operation can generate multiple requests to a service.
   916  //
   917  //    // Example iterating over at most 3 pages of a ListSignalingChannels operation.
   918  //    pageNum := 0
   919  //    err := client.ListSignalingChannelsPages(params,
   920  //        func(page *kinesisvideo.ListSignalingChannelsOutput, lastPage bool) bool {
   921  //            pageNum++
   922  //            fmt.Println(page)
   923  //            return pageNum <= 3
   924  //        })
   925  //
   926  func (c *KinesisVideo) ListSignalingChannelsPages(input *ListSignalingChannelsInput, fn func(*ListSignalingChannelsOutput, bool) bool) error {
   927  	return c.ListSignalingChannelsPagesWithContext(aws.BackgroundContext(), input, fn)
   928  }
   929  
   930  // ListSignalingChannelsPagesWithContext same as ListSignalingChannelsPages except
   931  // it takes a Context and allows setting request options on the pages.
   932  //
   933  // The context must be non-nil and will be used for request cancellation. If
   934  // the context is nil a panic will occur. In the future the SDK may create
   935  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   936  // for more information on using Contexts.
   937  func (c *KinesisVideo) ListSignalingChannelsPagesWithContext(ctx aws.Context, input *ListSignalingChannelsInput, fn func(*ListSignalingChannelsOutput, bool) bool, opts ...request.Option) error {
   938  	p := request.Pagination{
   939  		NewRequest: func() (*request.Request, error) {
   940  			var inCpy *ListSignalingChannelsInput
   941  			if input != nil {
   942  				tmp := *input
   943  				inCpy = &tmp
   944  			}
   945  			req, _ := c.ListSignalingChannelsRequest(inCpy)
   946  			req.SetContext(ctx)
   947  			req.ApplyOptions(opts...)
   948  			return req, nil
   949  		},
   950  	}
   951  
   952  	for p.Next() {
   953  		if !fn(p.Page().(*ListSignalingChannelsOutput), !p.HasNextPage()) {
   954  			break
   955  		}
   956  	}
   957  
   958  	return p.Err()
   959  }
   960  
   961  const opListStreams = "ListStreams"
   962  
   963  // ListStreamsRequest generates a "aws/request.Request" representing the
   964  // client's request for the ListStreams operation. The "output" return
   965  // value will be populated with the request's response once the request completes
   966  // successfully.
   967  //
   968  // Use "Send" method on the returned Request to send the API call to the service.
   969  // the "output" return value is not valid until after Send returns without error.
   970  //
   971  // See ListStreams for more information on using the ListStreams
   972  // API call, and error handling.
   973  //
   974  // This method is useful when you want to inject custom logic or configuration
   975  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   976  //
   977  //
   978  //    // Example sending a request using the ListStreamsRequest method.
   979  //    req, resp := client.ListStreamsRequest(params)
   980  //
   981  //    err := req.Send()
   982  //    if err == nil { // resp is now filled
   983  //        fmt.Println(resp)
   984  //    }
   985  //
   986  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/ListStreams
   987  func (c *KinesisVideo) ListStreamsRequest(input *ListStreamsInput) (req *request.Request, output *ListStreamsOutput) {
   988  	op := &request.Operation{
   989  		Name:       opListStreams,
   990  		HTTPMethod: "POST",
   991  		HTTPPath:   "/listStreams",
   992  		Paginator: &request.Paginator{
   993  			InputTokens:     []string{"NextToken"},
   994  			OutputTokens:    []string{"NextToken"},
   995  			LimitToken:      "MaxResults",
   996  			TruncationToken: "",
   997  		},
   998  	}
   999  
  1000  	if input == nil {
  1001  		input = &ListStreamsInput{}
  1002  	}
  1003  
  1004  	output = &ListStreamsOutput{}
  1005  	req = c.newRequest(op, input, output)
  1006  	return
  1007  }
  1008  
  1009  // ListStreams API operation for Amazon Kinesis Video Streams.
  1010  //
  1011  // Returns an array of StreamInfo objects. Each object describes a stream. To
  1012  // retrieve only streams that satisfy a specific condition, you can specify
  1013  // a StreamNameCondition.
  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 Kinesis Video Streams's
  1020  // API operation ListStreams for usage and error information.
  1021  //
  1022  // Returned Error Types:
  1023  //   * ClientLimitExceededException
  1024  //   Kinesis Video Streams has throttled the request because you have exceeded
  1025  //   the limit of allowed client calls. Try making the call later.
  1026  //
  1027  //   * InvalidArgumentException
  1028  //   The value for this input parameter is invalid.
  1029  //
  1030  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/ListStreams
  1031  func (c *KinesisVideo) ListStreams(input *ListStreamsInput) (*ListStreamsOutput, error) {
  1032  	req, out := c.ListStreamsRequest(input)
  1033  	return out, req.Send()
  1034  }
  1035  
  1036  // ListStreamsWithContext is the same as ListStreams with the addition of
  1037  // the ability to pass a context and additional request options.
  1038  //
  1039  // See ListStreams for details on how to use this API operation.
  1040  //
  1041  // The context must be non-nil and will be used for request cancellation. If
  1042  // the context is nil a panic will occur. In the future the SDK may create
  1043  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1044  // for more information on using Contexts.
  1045  func (c *KinesisVideo) ListStreamsWithContext(ctx aws.Context, input *ListStreamsInput, opts ...request.Option) (*ListStreamsOutput, error) {
  1046  	req, out := c.ListStreamsRequest(input)
  1047  	req.SetContext(ctx)
  1048  	req.ApplyOptions(opts...)
  1049  	return out, req.Send()
  1050  }
  1051  
  1052  // ListStreamsPages iterates over the pages of a ListStreams operation,
  1053  // calling the "fn" function with the response data for each page. To stop
  1054  // iterating, return false from the fn function.
  1055  //
  1056  // See ListStreams method for more information on how to use this operation.
  1057  //
  1058  // Note: This operation can generate multiple requests to a service.
  1059  //
  1060  //    // Example iterating over at most 3 pages of a ListStreams operation.
  1061  //    pageNum := 0
  1062  //    err := client.ListStreamsPages(params,
  1063  //        func(page *kinesisvideo.ListStreamsOutput, lastPage bool) bool {
  1064  //            pageNum++
  1065  //            fmt.Println(page)
  1066  //            return pageNum <= 3
  1067  //        })
  1068  //
  1069  func (c *KinesisVideo) ListStreamsPages(input *ListStreamsInput, fn func(*ListStreamsOutput, bool) bool) error {
  1070  	return c.ListStreamsPagesWithContext(aws.BackgroundContext(), input, fn)
  1071  }
  1072  
  1073  // ListStreamsPagesWithContext same as ListStreamsPages except
  1074  // it takes a Context and allows setting request options on the pages.
  1075  //
  1076  // The context must be non-nil and will be used for request cancellation. If
  1077  // the context is nil a panic will occur. In the future the SDK may create
  1078  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1079  // for more information on using Contexts.
  1080  func (c *KinesisVideo) ListStreamsPagesWithContext(ctx aws.Context, input *ListStreamsInput, fn func(*ListStreamsOutput, bool) bool, opts ...request.Option) error {
  1081  	p := request.Pagination{
  1082  		NewRequest: func() (*request.Request, error) {
  1083  			var inCpy *ListStreamsInput
  1084  			if input != nil {
  1085  				tmp := *input
  1086  				inCpy = &tmp
  1087  			}
  1088  			req, _ := c.ListStreamsRequest(inCpy)
  1089  			req.SetContext(ctx)
  1090  			req.ApplyOptions(opts...)
  1091  			return req, nil
  1092  		},
  1093  	}
  1094  
  1095  	for p.Next() {
  1096  		if !fn(p.Page().(*ListStreamsOutput), !p.HasNextPage()) {
  1097  			break
  1098  		}
  1099  	}
  1100  
  1101  	return p.Err()
  1102  }
  1103  
  1104  const opListTagsForResource = "ListTagsForResource"
  1105  
  1106  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  1107  // client's request for the ListTagsForResource operation. The "output" return
  1108  // value will be populated with the request's response once the request completes
  1109  // successfully.
  1110  //
  1111  // Use "Send" method on the returned Request to send the API call to the service.
  1112  // the "output" return value is not valid until after Send returns without error.
  1113  //
  1114  // See ListTagsForResource for more information on using the ListTagsForResource
  1115  // API call, and error handling.
  1116  //
  1117  // This method is useful when you want to inject custom logic or configuration
  1118  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1119  //
  1120  //
  1121  //    // Example sending a request using the ListTagsForResourceRequest method.
  1122  //    req, resp := client.ListTagsForResourceRequest(params)
  1123  //
  1124  //    err := req.Send()
  1125  //    if err == nil { // resp is now filled
  1126  //        fmt.Println(resp)
  1127  //    }
  1128  //
  1129  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/ListTagsForResource
  1130  func (c *KinesisVideo) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  1131  	op := &request.Operation{
  1132  		Name:       opListTagsForResource,
  1133  		HTTPMethod: "POST",
  1134  		HTTPPath:   "/ListTagsForResource",
  1135  	}
  1136  
  1137  	if input == nil {
  1138  		input = &ListTagsForResourceInput{}
  1139  	}
  1140  
  1141  	output = &ListTagsForResourceOutput{}
  1142  	req = c.newRequest(op, input, output)
  1143  	return
  1144  }
  1145  
  1146  // ListTagsForResource API operation for Amazon Kinesis Video Streams.
  1147  //
  1148  // Returns a list of tags associated with the specified signaling channel.
  1149  //
  1150  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1151  // with awserr.Error's Code and Message methods to get detailed information about
  1152  // the error.
  1153  //
  1154  // See the AWS API reference guide for Amazon Kinesis Video Streams's
  1155  // API operation ListTagsForResource for usage and error information.
  1156  //
  1157  // Returned Error Types:
  1158  //   * InvalidArgumentException
  1159  //   The value for this input parameter is invalid.
  1160  //
  1161  //   * ClientLimitExceededException
  1162  //   Kinesis Video Streams has throttled the request because you have exceeded
  1163  //   the limit of allowed client calls. Try making the call later.
  1164  //
  1165  //   * ResourceNotFoundException
  1166  //   Amazon Kinesis Video Streams can't find the stream that you specified.
  1167  //
  1168  //   * AccessDeniedException
  1169  //   You do not have required permissions to perform this operation.
  1170  //
  1171  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/ListTagsForResource
  1172  func (c *KinesisVideo) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  1173  	req, out := c.ListTagsForResourceRequest(input)
  1174  	return out, req.Send()
  1175  }
  1176  
  1177  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  1178  // the ability to pass a context and additional request options.
  1179  //
  1180  // See ListTagsForResource for details on how to use this API operation.
  1181  //
  1182  // The context must be non-nil and will be used for request cancellation. If
  1183  // the context is nil a panic will occur. In the future the SDK may create
  1184  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1185  // for more information on using Contexts.
  1186  func (c *KinesisVideo) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  1187  	req, out := c.ListTagsForResourceRequest(input)
  1188  	req.SetContext(ctx)
  1189  	req.ApplyOptions(opts...)
  1190  	return out, req.Send()
  1191  }
  1192  
  1193  const opListTagsForStream = "ListTagsForStream"
  1194  
  1195  // ListTagsForStreamRequest generates a "aws/request.Request" representing the
  1196  // client's request for the ListTagsForStream operation. The "output" return
  1197  // value will be populated with the request's response once the request completes
  1198  // successfully.
  1199  //
  1200  // Use "Send" method on the returned Request to send the API call to the service.
  1201  // the "output" return value is not valid until after Send returns without error.
  1202  //
  1203  // See ListTagsForStream for more information on using the ListTagsForStream
  1204  // API call, and error handling.
  1205  //
  1206  // This method is useful when you want to inject custom logic or configuration
  1207  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1208  //
  1209  //
  1210  //    // Example sending a request using the ListTagsForStreamRequest method.
  1211  //    req, resp := client.ListTagsForStreamRequest(params)
  1212  //
  1213  //    err := req.Send()
  1214  //    if err == nil { // resp is now filled
  1215  //        fmt.Println(resp)
  1216  //    }
  1217  //
  1218  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/ListTagsForStream
  1219  func (c *KinesisVideo) ListTagsForStreamRequest(input *ListTagsForStreamInput) (req *request.Request, output *ListTagsForStreamOutput) {
  1220  	op := &request.Operation{
  1221  		Name:       opListTagsForStream,
  1222  		HTTPMethod: "POST",
  1223  		HTTPPath:   "/listTagsForStream",
  1224  	}
  1225  
  1226  	if input == nil {
  1227  		input = &ListTagsForStreamInput{}
  1228  	}
  1229  
  1230  	output = &ListTagsForStreamOutput{}
  1231  	req = c.newRequest(op, input, output)
  1232  	return
  1233  }
  1234  
  1235  // ListTagsForStream API operation for Amazon Kinesis Video Streams.
  1236  //
  1237  // Returns a list of tags associated with the specified stream.
  1238  //
  1239  // In the request, you must specify either the StreamName or the StreamARN.
  1240  //
  1241  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1242  // with awserr.Error's Code and Message methods to get detailed information about
  1243  // the error.
  1244  //
  1245  // See the AWS API reference guide for Amazon Kinesis Video Streams's
  1246  // API operation ListTagsForStream for usage and error information.
  1247  //
  1248  // Returned Error Types:
  1249  //   * ClientLimitExceededException
  1250  //   Kinesis Video Streams has throttled the request because you have exceeded
  1251  //   the limit of allowed client calls. Try making the call later.
  1252  //
  1253  //   * InvalidArgumentException
  1254  //   The value for this input parameter is invalid.
  1255  //
  1256  //   * ResourceNotFoundException
  1257  //   Amazon Kinesis Video Streams can't find the stream that you specified.
  1258  //
  1259  //   * NotAuthorizedException
  1260  //   The caller is not authorized to perform this operation.
  1261  //
  1262  //   * InvalidResourceFormatException
  1263  //   The format of the StreamARN is invalid.
  1264  //
  1265  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/ListTagsForStream
  1266  func (c *KinesisVideo) ListTagsForStream(input *ListTagsForStreamInput) (*ListTagsForStreamOutput, error) {
  1267  	req, out := c.ListTagsForStreamRequest(input)
  1268  	return out, req.Send()
  1269  }
  1270  
  1271  // ListTagsForStreamWithContext is the same as ListTagsForStream with the addition of
  1272  // the ability to pass a context and additional request options.
  1273  //
  1274  // See ListTagsForStream for details on how to use this API operation.
  1275  //
  1276  // The context must be non-nil and will be used for request cancellation. If
  1277  // the context is nil a panic will occur. In the future the SDK may create
  1278  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1279  // for more information on using Contexts.
  1280  func (c *KinesisVideo) ListTagsForStreamWithContext(ctx aws.Context, input *ListTagsForStreamInput, opts ...request.Option) (*ListTagsForStreamOutput, error) {
  1281  	req, out := c.ListTagsForStreamRequest(input)
  1282  	req.SetContext(ctx)
  1283  	req.ApplyOptions(opts...)
  1284  	return out, req.Send()
  1285  }
  1286  
  1287  const opTagResource = "TagResource"
  1288  
  1289  // TagResourceRequest generates a "aws/request.Request" representing the
  1290  // client's request for the TagResource operation. The "output" return
  1291  // value will be populated with the request's response once the request completes
  1292  // successfully.
  1293  //
  1294  // Use "Send" method on the returned Request to send the API call to the service.
  1295  // the "output" return value is not valid until after Send returns without error.
  1296  //
  1297  // See TagResource for more information on using the TagResource
  1298  // API call, and error handling.
  1299  //
  1300  // This method is useful when you want to inject custom logic or configuration
  1301  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1302  //
  1303  //
  1304  //    // Example sending a request using the TagResourceRequest method.
  1305  //    req, resp := client.TagResourceRequest(params)
  1306  //
  1307  //    err := req.Send()
  1308  //    if err == nil { // resp is now filled
  1309  //        fmt.Println(resp)
  1310  //    }
  1311  //
  1312  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/TagResource
  1313  func (c *KinesisVideo) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  1314  	op := &request.Operation{
  1315  		Name:       opTagResource,
  1316  		HTTPMethod: "POST",
  1317  		HTTPPath:   "/TagResource",
  1318  	}
  1319  
  1320  	if input == nil {
  1321  		input = &TagResourceInput{}
  1322  	}
  1323  
  1324  	output = &TagResourceOutput{}
  1325  	req = c.newRequest(op, input, output)
  1326  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1327  	return
  1328  }
  1329  
  1330  // TagResource API operation for Amazon Kinesis Video Streams.
  1331  //
  1332  // Adds one or more tags to a signaling channel. A tag is a key-value pair (the
  1333  // value is optional) that you can define and assign to AWS resources. If you
  1334  // specify a tag that already exists, the tag value is replaced with the value
  1335  // that you specify in the request. For more information, see Using Cost Allocation
  1336  // Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)
  1337  // in the AWS Billing and Cost Management User Guide.
  1338  //
  1339  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1340  // with awserr.Error's Code and Message methods to get detailed information about
  1341  // the error.
  1342  //
  1343  // See the AWS API reference guide for Amazon Kinesis Video Streams's
  1344  // API operation TagResource for usage and error information.
  1345  //
  1346  // Returned Error Types:
  1347  //   * InvalidArgumentException
  1348  //   The value for this input parameter is invalid.
  1349  //
  1350  //   * ClientLimitExceededException
  1351  //   Kinesis Video Streams has throttled the request because you have exceeded
  1352  //   the limit of allowed client calls. Try making the call later.
  1353  //
  1354  //   * ResourceNotFoundException
  1355  //   Amazon Kinesis Video Streams can't find the stream that you specified.
  1356  //
  1357  //   * AccessDeniedException
  1358  //   You do not have required permissions to perform this operation.
  1359  //
  1360  //   * TagsPerResourceExceededLimitException
  1361  //   You have exceeded the limit of tags that you can associate with the resource.
  1362  //   Kinesis video streams support up to 50 tags.
  1363  //
  1364  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/TagResource
  1365  func (c *KinesisVideo) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  1366  	req, out := c.TagResourceRequest(input)
  1367  	return out, req.Send()
  1368  }
  1369  
  1370  // TagResourceWithContext is the same as TagResource with the addition of
  1371  // the ability to pass a context and additional request options.
  1372  //
  1373  // See TagResource for details on how to use this API operation.
  1374  //
  1375  // The context must be non-nil and will be used for request cancellation. If
  1376  // the context is nil a panic will occur. In the future the SDK may create
  1377  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1378  // for more information on using Contexts.
  1379  func (c *KinesisVideo) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  1380  	req, out := c.TagResourceRequest(input)
  1381  	req.SetContext(ctx)
  1382  	req.ApplyOptions(opts...)
  1383  	return out, req.Send()
  1384  }
  1385  
  1386  const opTagStream = "TagStream"
  1387  
  1388  // TagStreamRequest generates a "aws/request.Request" representing the
  1389  // client's request for the TagStream operation. The "output" return
  1390  // value will be populated with the request's response once the request completes
  1391  // successfully.
  1392  //
  1393  // Use "Send" method on the returned Request to send the API call to the service.
  1394  // the "output" return value is not valid until after Send returns without error.
  1395  //
  1396  // See TagStream for more information on using the TagStream
  1397  // API call, and error handling.
  1398  //
  1399  // This method is useful when you want to inject custom logic or configuration
  1400  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1401  //
  1402  //
  1403  //    // Example sending a request using the TagStreamRequest method.
  1404  //    req, resp := client.TagStreamRequest(params)
  1405  //
  1406  //    err := req.Send()
  1407  //    if err == nil { // resp is now filled
  1408  //        fmt.Println(resp)
  1409  //    }
  1410  //
  1411  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/TagStream
  1412  func (c *KinesisVideo) TagStreamRequest(input *TagStreamInput) (req *request.Request, output *TagStreamOutput) {
  1413  	op := &request.Operation{
  1414  		Name:       opTagStream,
  1415  		HTTPMethod: "POST",
  1416  		HTTPPath:   "/tagStream",
  1417  	}
  1418  
  1419  	if input == nil {
  1420  		input = &TagStreamInput{}
  1421  	}
  1422  
  1423  	output = &TagStreamOutput{}
  1424  	req = c.newRequest(op, input, output)
  1425  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1426  	return
  1427  }
  1428  
  1429  // TagStream API operation for Amazon Kinesis Video Streams.
  1430  //
  1431  // Adds one or more tags to a stream. A tag is a key-value pair (the value is
  1432  // optional) that you can define and assign to AWS resources. If you specify
  1433  // a tag that already exists, the tag value is replaced with the value that
  1434  // you specify in the request. For more information, see Using Cost Allocation
  1435  // Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)
  1436  // in the AWS Billing and Cost Management User Guide.
  1437  //
  1438  // You must provide either the StreamName or the StreamARN.
  1439  //
  1440  // This operation requires permission for the KinesisVideo:TagStream action.
  1441  //
  1442  // Kinesis video streams support up to 50 tags.
  1443  //
  1444  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1445  // with awserr.Error's Code and Message methods to get detailed information about
  1446  // the error.
  1447  //
  1448  // See the AWS API reference guide for Amazon Kinesis Video Streams's
  1449  // API operation TagStream for usage and error information.
  1450  //
  1451  // Returned Error Types:
  1452  //   * ClientLimitExceededException
  1453  //   Kinesis Video Streams has throttled the request because you have exceeded
  1454  //   the limit of allowed client calls. Try making the call later.
  1455  //
  1456  //   * InvalidArgumentException
  1457  //   The value for this input parameter is invalid.
  1458  //
  1459  //   * ResourceNotFoundException
  1460  //   Amazon Kinesis Video Streams can't find the stream that you specified.
  1461  //
  1462  //   * NotAuthorizedException
  1463  //   The caller is not authorized to perform this operation.
  1464  //
  1465  //   * InvalidResourceFormatException
  1466  //   The format of the StreamARN is invalid.
  1467  //
  1468  //   * TagsPerResourceExceededLimitException
  1469  //   You have exceeded the limit of tags that you can associate with the resource.
  1470  //   Kinesis video streams support up to 50 tags.
  1471  //
  1472  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/TagStream
  1473  func (c *KinesisVideo) TagStream(input *TagStreamInput) (*TagStreamOutput, error) {
  1474  	req, out := c.TagStreamRequest(input)
  1475  	return out, req.Send()
  1476  }
  1477  
  1478  // TagStreamWithContext is the same as TagStream with the addition of
  1479  // the ability to pass a context and additional request options.
  1480  //
  1481  // See TagStream for details on how to use this API operation.
  1482  //
  1483  // The context must be non-nil and will be used for request cancellation. If
  1484  // the context is nil a panic will occur. In the future the SDK may create
  1485  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1486  // for more information on using Contexts.
  1487  func (c *KinesisVideo) TagStreamWithContext(ctx aws.Context, input *TagStreamInput, opts ...request.Option) (*TagStreamOutput, error) {
  1488  	req, out := c.TagStreamRequest(input)
  1489  	req.SetContext(ctx)
  1490  	req.ApplyOptions(opts...)
  1491  	return out, req.Send()
  1492  }
  1493  
  1494  const opUntagResource = "UntagResource"
  1495  
  1496  // UntagResourceRequest generates a "aws/request.Request" representing the
  1497  // client's request for the UntagResource operation. The "output" return
  1498  // value will be populated with the request's response once the request completes
  1499  // successfully.
  1500  //
  1501  // Use "Send" method on the returned Request to send the API call to the service.
  1502  // the "output" return value is not valid until after Send returns without error.
  1503  //
  1504  // See UntagResource for more information on using the UntagResource
  1505  // API call, and error handling.
  1506  //
  1507  // This method is useful when you want to inject custom logic or configuration
  1508  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1509  //
  1510  //
  1511  //    // Example sending a request using the UntagResourceRequest method.
  1512  //    req, resp := client.UntagResourceRequest(params)
  1513  //
  1514  //    err := req.Send()
  1515  //    if err == nil { // resp is now filled
  1516  //        fmt.Println(resp)
  1517  //    }
  1518  //
  1519  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UntagResource
  1520  func (c *KinesisVideo) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  1521  	op := &request.Operation{
  1522  		Name:       opUntagResource,
  1523  		HTTPMethod: "POST",
  1524  		HTTPPath:   "/UntagResource",
  1525  	}
  1526  
  1527  	if input == nil {
  1528  		input = &UntagResourceInput{}
  1529  	}
  1530  
  1531  	output = &UntagResourceOutput{}
  1532  	req = c.newRequest(op, input, output)
  1533  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1534  	return
  1535  }
  1536  
  1537  // UntagResource API operation for Amazon Kinesis Video Streams.
  1538  //
  1539  // Removes one or more tags from a signaling channel. In the request, specify
  1540  // only a tag key or keys; don't specify the value. If you specify a tag key
  1541  // that does not exist, it's ignored.
  1542  //
  1543  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1544  // with awserr.Error's Code and Message methods to get detailed information about
  1545  // the error.
  1546  //
  1547  // See the AWS API reference guide for Amazon Kinesis Video Streams's
  1548  // API operation UntagResource for usage and error information.
  1549  //
  1550  // Returned Error Types:
  1551  //   * InvalidArgumentException
  1552  //   The value for this input parameter is invalid.
  1553  //
  1554  //   * ClientLimitExceededException
  1555  //   Kinesis Video Streams has throttled the request because you have exceeded
  1556  //   the limit of allowed client calls. Try making the call later.
  1557  //
  1558  //   * ResourceNotFoundException
  1559  //   Amazon Kinesis Video Streams can't find the stream that you specified.
  1560  //
  1561  //   * AccessDeniedException
  1562  //   You do not have required permissions to perform this operation.
  1563  //
  1564  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UntagResource
  1565  func (c *KinesisVideo) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  1566  	req, out := c.UntagResourceRequest(input)
  1567  	return out, req.Send()
  1568  }
  1569  
  1570  // UntagResourceWithContext is the same as UntagResource with the addition of
  1571  // the ability to pass a context and additional request options.
  1572  //
  1573  // See UntagResource for details on how to use this API operation.
  1574  //
  1575  // The context must be non-nil and will be used for request cancellation. If
  1576  // the context is nil a panic will occur. In the future the SDK may create
  1577  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1578  // for more information on using Contexts.
  1579  func (c *KinesisVideo) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  1580  	req, out := c.UntagResourceRequest(input)
  1581  	req.SetContext(ctx)
  1582  	req.ApplyOptions(opts...)
  1583  	return out, req.Send()
  1584  }
  1585  
  1586  const opUntagStream = "UntagStream"
  1587  
  1588  // UntagStreamRequest generates a "aws/request.Request" representing the
  1589  // client's request for the UntagStream operation. The "output" return
  1590  // value will be populated with the request's response once the request completes
  1591  // successfully.
  1592  //
  1593  // Use "Send" method on the returned Request to send the API call to the service.
  1594  // the "output" return value is not valid until after Send returns without error.
  1595  //
  1596  // See UntagStream for more information on using the UntagStream
  1597  // API call, and error handling.
  1598  //
  1599  // This method is useful when you want to inject custom logic or configuration
  1600  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1601  //
  1602  //
  1603  //    // Example sending a request using the UntagStreamRequest method.
  1604  //    req, resp := client.UntagStreamRequest(params)
  1605  //
  1606  //    err := req.Send()
  1607  //    if err == nil { // resp is now filled
  1608  //        fmt.Println(resp)
  1609  //    }
  1610  //
  1611  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UntagStream
  1612  func (c *KinesisVideo) UntagStreamRequest(input *UntagStreamInput) (req *request.Request, output *UntagStreamOutput) {
  1613  	op := &request.Operation{
  1614  		Name:       opUntagStream,
  1615  		HTTPMethod: "POST",
  1616  		HTTPPath:   "/untagStream",
  1617  	}
  1618  
  1619  	if input == nil {
  1620  		input = &UntagStreamInput{}
  1621  	}
  1622  
  1623  	output = &UntagStreamOutput{}
  1624  	req = c.newRequest(op, input, output)
  1625  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1626  	return
  1627  }
  1628  
  1629  // UntagStream API operation for Amazon Kinesis Video Streams.
  1630  //
  1631  // Removes one or more tags from a stream. In the request, specify only a tag
  1632  // key or keys; don't specify the value. If you specify a tag key that does
  1633  // not exist, it's ignored.
  1634  //
  1635  // In the request, you must provide the StreamName or StreamARN.
  1636  //
  1637  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1638  // with awserr.Error's Code and Message methods to get detailed information about
  1639  // the error.
  1640  //
  1641  // See the AWS API reference guide for Amazon Kinesis Video Streams's
  1642  // API operation UntagStream for usage and error information.
  1643  //
  1644  // Returned Error Types:
  1645  //   * ClientLimitExceededException
  1646  //   Kinesis Video Streams has throttled the request because you have exceeded
  1647  //   the limit of allowed client calls. Try making the call later.
  1648  //
  1649  //   * InvalidArgumentException
  1650  //   The value for this input parameter is invalid.
  1651  //
  1652  //   * ResourceNotFoundException
  1653  //   Amazon Kinesis Video Streams can't find the stream that you specified.
  1654  //
  1655  //   * NotAuthorizedException
  1656  //   The caller is not authorized to perform this operation.
  1657  //
  1658  //   * InvalidResourceFormatException
  1659  //   The format of the StreamARN is invalid.
  1660  //
  1661  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UntagStream
  1662  func (c *KinesisVideo) UntagStream(input *UntagStreamInput) (*UntagStreamOutput, error) {
  1663  	req, out := c.UntagStreamRequest(input)
  1664  	return out, req.Send()
  1665  }
  1666  
  1667  // UntagStreamWithContext is the same as UntagStream with the addition of
  1668  // the ability to pass a context and additional request options.
  1669  //
  1670  // See UntagStream for details on how to use this API operation.
  1671  //
  1672  // The context must be non-nil and will be used for request cancellation. If
  1673  // the context is nil a panic will occur. In the future the SDK may create
  1674  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1675  // for more information on using Contexts.
  1676  func (c *KinesisVideo) UntagStreamWithContext(ctx aws.Context, input *UntagStreamInput, opts ...request.Option) (*UntagStreamOutput, error) {
  1677  	req, out := c.UntagStreamRequest(input)
  1678  	req.SetContext(ctx)
  1679  	req.ApplyOptions(opts...)
  1680  	return out, req.Send()
  1681  }
  1682  
  1683  const opUpdateDataRetention = "UpdateDataRetention"
  1684  
  1685  // UpdateDataRetentionRequest generates a "aws/request.Request" representing the
  1686  // client's request for the UpdateDataRetention operation. The "output" return
  1687  // value will be populated with the request's response once the request completes
  1688  // successfully.
  1689  //
  1690  // Use "Send" method on the returned Request to send the API call to the service.
  1691  // the "output" return value is not valid until after Send returns without error.
  1692  //
  1693  // See UpdateDataRetention for more information on using the UpdateDataRetention
  1694  // API call, and error handling.
  1695  //
  1696  // This method is useful when you want to inject custom logic or configuration
  1697  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1698  //
  1699  //
  1700  //    // Example sending a request using the UpdateDataRetentionRequest method.
  1701  //    req, resp := client.UpdateDataRetentionRequest(params)
  1702  //
  1703  //    err := req.Send()
  1704  //    if err == nil { // resp is now filled
  1705  //        fmt.Println(resp)
  1706  //    }
  1707  //
  1708  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateDataRetention
  1709  func (c *KinesisVideo) UpdateDataRetentionRequest(input *UpdateDataRetentionInput) (req *request.Request, output *UpdateDataRetentionOutput) {
  1710  	op := &request.Operation{
  1711  		Name:       opUpdateDataRetention,
  1712  		HTTPMethod: "POST",
  1713  		HTTPPath:   "/updateDataRetention",
  1714  	}
  1715  
  1716  	if input == nil {
  1717  		input = &UpdateDataRetentionInput{}
  1718  	}
  1719  
  1720  	output = &UpdateDataRetentionOutput{}
  1721  	req = c.newRequest(op, input, output)
  1722  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1723  	return
  1724  }
  1725  
  1726  // UpdateDataRetention API operation for Amazon Kinesis Video Streams.
  1727  //
  1728  // Increases or decreases the stream's data retention period by the value that
  1729  // you specify. To indicate whether you want to increase or decrease the data
  1730  // retention period, specify the Operation parameter in the request body. In
  1731  // the request, you must specify either the StreamName or the StreamARN.
  1732  //
  1733  // The retention period that you specify replaces the current value.
  1734  //
  1735  // This operation requires permission for the KinesisVideo:UpdateDataRetention
  1736  // action.
  1737  //
  1738  // Changing the data retention period affects the data in the stream as follows:
  1739  //
  1740  //    * If the data retention period is increased, existing data is retained
  1741  //    for the new retention period. For example, if the data retention period
  1742  //    is increased from one hour to seven hours, all existing data is retained
  1743  //    for seven hours.
  1744  //
  1745  //    * If the data retention period is decreased, existing data is retained
  1746  //    for the new retention period. For example, if the data retention period
  1747  //    is decreased from seven hours to one hour, all existing data is retained
  1748  //    for one hour, and any data older than one hour is deleted immediately.
  1749  //
  1750  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1751  // with awserr.Error's Code and Message methods to get detailed information about
  1752  // the error.
  1753  //
  1754  // See the AWS API reference guide for Amazon Kinesis Video Streams's
  1755  // API operation UpdateDataRetention for usage and error information.
  1756  //
  1757  // Returned Error Types:
  1758  //   * ClientLimitExceededException
  1759  //   Kinesis Video Streams has throttled the request because you have exceeded
  1760  //   the limit of allowed client calls. Try making the call later.
  1761  //
  1762  //   * InvalidArgumentException
  1763  //   The value for this input parameter is invalid.
  1764  //
  1765  //   * ResourceNotFoundException
  1766  //   Amazon Kinesis Video Streams can't find the stream that you specified.
  1767  //
  1768  //   * ResourceInUseException
  1769  //   The signaling channel is currently not available for this operation.
  1770  //
  1771  //   * NotAuthorizedException
  1772  //   The caller is not authorized to perform this operation.
  1773  //
  1774  //   * VersionMismatchException
  1775  //   The stream version that you specified is not the latest version. To get the
  1776  //   latest version, use the DescribeStream (https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DescribeStream.html)
  1777  //   API.
  1778  //
  1779  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateDataRetention
  1780  func (c *KinesisVideo) UpdateDataRetention(input *UpdateDataRetentionInput) (*UpdateDataRetentionOutput, error) {
  1781  	req, out := c.UpdateDataRetentionRequest(input)
  1782  	return out, req.Send()
  1783  }
  1784  
  1785  // UpdateDataRetentionWithContext is the same as UpdateDataRetention with the addition of
  1786  // the ability to pass a context and additional request options.
  1787  //
  1788  // See UpdateDataRetention for details on how to use this API operation.
  1789  //
  1790  // The context must be non-nil and will be used for request cancellation. If
  1791  // the context is nil a panic will occur. In the future the SDK may create
  1792  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1793  // for more information on using Contexts.
  1794  func (c *KinesisVideo) UpdateDataRetentionWithContext(ctx aws.Context, input *UpdateDataRetentionInput, opts ...request.Option) (*UpdateDataRetentionOutput, error) {
  1795  	req, out := c.UpdateDataRetentionRequest(input)
  1796  	req.SetContext(ctx)
  1797  	req.ApplyOptions(opts...)
  1798  	return out, req.Send()
  1799  }
  1800  
  1801  const opUpdateSignalingChannel = "UpdateSignalingChannel"
  1802  
  1803  // UpdateSignalingChannelRequest generates a "aws/request.Request" representing the
  1804  // client's request for the UpdateSignalingChannel operation. The "output" return
  1805  // value will be populated with the request's response once the request completes
  1806  // successfully.
  1807  //
  1808  // Use "Send" method on the returned Request to send the API call to the service.
  1809  // the "output" return value is not valid until after Send returns without error.
  1810  //
  1811  // See UpdateSignalingChannel for more information on using the UpdateSignalingChannel
  1812  // API call, and error handling.
  1813  //
  1814  // This method is useful when you want to inject custom logic or configuration
  1815  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1816  //
  1817  //
  1818  //    // Example sending a request using the UpdateSignalingChannelRequest method.
  1819  //    req, resp := client.UpdateSignalingChannelRequest(params)
  1820  //
  1821  //    err := req.Send()
  1822  //    if err == nil { // resp is now filled
  1823  //        fmt.Println(resp)
  1824  //    }
  1825  //
  1826  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateSignalingChannel
  1827  func (c *KinesisVideo) UpdateSignalingChannelRequest(input *UpdateSignalingChannelInput) (req *request.Request, output *UpdateSignalingChannelOutput) {
  1828  	op := &request.Operation{
  1829  		Name:       opUpdateSignalingChannel,
  1830  		HTTPMethod: "POST",
  1831  		HTTPPath:   "/updateSignalingChannel",
  1832  	}
  1833  
  1834  	if input == nil {
  1835  		input = &UpdateSignalingChannelInput{}
  1836  	}
  1837  
  1838  	output = &UpdateSignalingChannelOutput{}
  1839  	req = c.newRequest(op, input, output)
  1840  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1841  	return
  1842  }
  1843  
  1844  // UpdateSignalingChannel API operation for Amazon Kinesis Video Streams.
  1845  //
  1846  // Updates the existing signaling channel. This is an asynchronous operation
  1847  // and takes time to complete.
  1848  //
  1849  // If the MessageTtlSeconds value is updated (either increased or reduced),
  1850  // it only applies to new messages sent via this channel after it's been updated.
  1851  // Existing messages are still expired as per the previous MessageTtlSeconds
  1852  // value.
  1853  //
  1854  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1855  // with awserr.Error's Code and Message methods to get detailed information about
  1856  // the error.
  1857  //
  1858  // See the AWS API reference guide for Amazon Kinesis Video Streams's
  1859  // API operation UpdateSignalingChannel for usage and error information.
  1860  //
  1861  // Returned Error Types:
  1862  //   * InvalidArgumentException
  1863  //   The value for this input parameter is invalid.
  1864  //
  1865  //   * ClientLimitExceededException
  1866  //   Kinesis Video Streams has throttled the request because you have exceeded
  1867  //   the limit of allowed client calls. Try making the call later.
  1868  //
  1869  //   * ResourceNotFoundException
  1870  //   Amazon Kinesis Video Streams can't find the stream that you specified.
  1871  //
  1872  //   * ResourceInUseException
  1873  //   The signaling channel is currently not available for this operation.
  1874  //
  1875  //   * AccessDeniedException
  1876  //   You do not have required permissions to perform this operation.
  1877  //
  1878  //   * VersionMismatchException
  1879  //   The stream version that you specified is not the latest version. To get the
  1880  //   latest version, use the DescribeStream (https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DescribeStream.html)
  1881  //   API.
  1882  //
  1883  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateSignalingChannel
  1884  func (c *KinesisVideo) UpdateSignalingChannel(input *UpdateSignalingChannelInput) (*UpdateSignalingChannelOutput, error) {
  1885  	req, out := c.UpdateSignalingChannelRequest(input)
  1886  	return out, req.Send()
  1887  }
  1888  
  1889  // UpdateSignalingChannelWithContext is the same as UpdateSignalingChannel with the addition of
  1890  // the ability to pass a context and additional request options.
  1891  //
  1892  // See UpdateSignalingChannel for details on how to use this API operation.
  1893  //
  1894  // The context must be non-nil and will be used for request cancellation. If
  1895  // the context is nil a panic will occur. In the future the SDK may create
  1896  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1897  // for more information on using Contexts.
  1898  func (c *KinesisVideo) UpdateSignalingChannelWithContext(ctx aws.Context, input *UpdateSignalingChannelInput, opts ...request.Option) (*UpdateSignalingChannelOutput, error) {
  1899  	req, out := c.UpdateSignalingChannelRequest(input)
  1900  	req.SetContext(ctx)
  1901  	req.ApplyOptions(opts...)
  1902  	return out, req.Send()
  1903  }
  1904  
  1905  const opUpdateStream = "UpdateStream"
  1906  
  1907  // UpdateStreamRequest generates a "aws/request.Request" representing the
  1908  // client's request for the UpdateStream operation. The "output" return
  1909  // value will be populated with the request's response once the request completes
  1910  // successfully.
  1911  //
  1912  // Use "Send" method on the returned Request to send the API call to the service.
  1913  // the "output" return value is not valid until after Send returns without error.
  1914  //
  1915  // See UpdateStream for more information on using the UpdateStream
  1916  // API call, and error handling.
  1917  //
  1918  // This method is useful when you want to inject custom logic or configuration
  1919  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1920  //
  1921  //
  1922  //    // Example sending a request using the UpdateStreamRequest method.
  1923  //    req, resp := client.UpdateStreamRequest(params)
  1924  //
  1925  //    err := req.Send()
  1926  //    if err == nil { // resp is now filled
  1927  //        fmt.Println(resp)
  1928  //    }
  1929  //
  1930  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateStream
  1931  func (c *KinesisVideo) UpdateStreamRequest(input *UpdateStreamInput) (req *request.Request, output *UpdateStreamOutput) {
  1932  	op := &request.Operation{
  1933  		Name:       opUpdateStream,
  1934  		HTTPMethod: "POST",
  1935  		HTTPPath:   "/updateStream",
  1936  	}
  1937  
  1938  	if input == nil {
  1939  		input = &UpdateStreamInput{}
  1940  	}
  1941  
  1942  	output = &UpdateStreamOutput{}
  1943  	req = c.newRequest(op, input, output)
  1944  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1945  	return
  1946  }
  1947  
  1948  // UpdateStream API operation for Amazon Kinesis Video Streams.
  1949  //
  1950  // Updates stream metadata, such as the device name and media type.
  1951  //
  1952  // You must provide the stream name or the Amazon Resource Name (ARN) of the
  1953  // stream.
  1954  //
  1955  // To make sure that you have the latest version of the stream before updating
  1956  // it, you can specify the stream version. Kinesis Video Streams assigns a version
  1957  // to each stream. When you update a stream, Kinesis Video Streams assigns a
  1958  // new version number. To get the latest stream version, use the DescribeStream
  1959  // API.
  1960  //
  1961  // UpdateStream is an asynchronous operation, and takes time to complete.
  1962  //
  1963  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1964  // with awserr.Error's Code and Message methods to get detailed information about
  1965  // the error.
  1966  //
  1967  // See the AWS API reference guide for Amazon Kinesis Video Streams's
  1968  // API operation UpdateStream for usage and error information.
  1969  //
  1970  // Returned Error Types:
  1971  //   * ClientLimitExceededException
  1972  //   Kinesis Video Streams has throttled the request because you have exceeded
  1973  //   the limit of allowed client calls. Try making the call later.
  1974  //
  1975  //   * InvalidArgumentException
  1976  //   The value for this input parameter is invalid.
  1977  //
  1978  //   * ResourceNotFoundException
  1979  //   Amazon Kinesis Video Streams can't find the stream that you specified.
  1980  //
  1981  //   * ResourceInUseException
  1982  //   The signaling channel is currently not available for this operation.
  1983  //
  1984  //   * NotAuthorizedException
  1985  //   The caller is not authorized to perform this operation.
  1986  //
  1987  //   * VersionMismatchException
  1988  //   The stream version that you specified is not the latest version. To get the
  1989  //   latest version, use the DescribeStream (https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DescribeStream.html)
  1990  //   API.
  1991  //
  1992  // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateStream
  1993  func (c *KinesisVideo) UpdateStream(input *UpdateStreamInput) (*UpdateStreamOutput, error) {
  1994  	req, out := c.UpdateStreamRequest(input)
  1995  	return out, req.Send()
  1996  }
  1997  
  1998  // UpdateStreamWithContext is the same as UpdateStream with the addition of
  1999  // the ability to pass a context and additional request options.
  2000  //
  2001  // See UpdateStream for details on how to use this API operation.
  2002  //
  2003  // The context must be non-nil and will be used for request cancellation. If
  2004  // the context is nil a panic will occur. In the future the SDK may create
  2005  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2006  // for more information on using Contexts.
  2007  func (c *KinesisVideo) UpdateStreamWithContext(ctx aws.Context, input *UpdateStreamInput, opts ...request.Option) (*UpdateStreamOutput, error) {
  2008  	req, out := c.UpdateStreamRequest(input)
  2009  	req.SetContext(ctx)
  2010  	req.ApplyOptions(opts...)
  2011  	return out, req.Send()
  2012  }
  2013  
  2014  // You do not have required permissions to perform this operation.
  2015  type AccessDeniedException struct {
  2016  	_            struct{}                  `type:"structure"`
  2017  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2018  
  2019  	Message_ *string `locationName:"Message" type:"string"`
  2020  }
  2021  
  2022  // String returns the string representation.
  2023  //
  2024  // API parameter values that are decorated as "sensitive" in the API will not
  2025  // be included in the string output. The member name will be present, but the
  2026  // value will be replaced with "sensitive".
  2027  func (s AccessDeniedException) String() string {
  2028  	return awsutil.Prettify(s)
  2029  }
  2030  
  2031  // GoString returns the string representation.
  2032  //
  2033  // API parameter values that are decorated as "sensitive" in the API will not
  2034  // be included in the string output. The member name will be present, but the
  2035  // value will be replaced with "sensitive".
  2036  func (s AccessDeniedException) GoString() string {
  2037  	return s.String()
  2038  }
  2039  
  2040  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  2041  	return &AccessDeniedException{
  2042  		RespMetadata: v,
  2043  	}
  2044  }
  2045  
  2046  // Code returns the exception type name.
  2047  func (s *AccessDeniedException) Code() string {
  2048  	return "AccessDeniedException"
  2049  }
  2050  
  2051  // Message returns the exception's message.
  2052  func (s *AccessDeniedException) Message() string {
  2053  	if s.Message_ != nil {
  2054  		return *s.Message_
  2055  	}
  2056  	return ""
  2057  }
  2058  
  2059  // OrigErr always returns nil, satisfies awserr.Error interface.
  2060  func (s *AccessDeniedException) OrigErr() error {
  2061  	return nil
  2062  }
  2063  
  2064  func (s *AccessDeniedException) Error() string {
  2065  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2066  }
  2067  
  2068  // Status code returns the HTTP status code for the request's response error.
  2069  func (s *AccessDeniedException) StatusCode() int {
  2070  	return s.RespMetadata.StatusCode
  2071  }
  2072  
  2073  // RequestID returns the service's response RequestID for request.
  2074  func (s *AccessDeniedException) RequestID() string {
  2075  	return s.RespMetadata.RequestID
  2076  }
  2077  
  2078  // You have reached the maximum limit of active signaling channels for this
  2079  // AWS account in this region.
  2080  type AccountChannelLimitExceededException struct {
  2081  	_            struct{}                  `type:"structure"`
  2082  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2083  
  2084  	Message_ *string `locationName:"Message" type:"string"`
  2085  }
  2086  
  2087  // String returns the string representation.
  2088  //
  2089  // API parameter values that are decorated as "sensitive" in the API will not
  2090  // be included in the string output. The member name will be present, but the
  2091  // value will be replaced with "sensitive".
  2092  func (s AccountChannelLimitExceededException) String() string {
  2093  	return awsutil.Prettify(s)
  2094  }
  2095  
  2096  // GoString returns the string representation.
  2097  //
  2098  // API parameter values that are decorated as "sensitive" in the API will not
  2099  // be included in the string output. The member name will be present, but the
  2100  // value will be replaced with "sensitive".
  2101  func (s AccountChannelLimitExceededException) GoString() string {
  2102  	return s.String()
  2103  }
  2104  
  2105  func newErrorAccountChannelLimitExceededException(v protocol.ResponseMetadata) error {
  2106  	return &AccountChannelLimitExceededException{
  2107  		RespMetadata: v,
  2108  	}
  2109  }
  2110  
  2111  // Code returns the exception type name.
  2112  func (s *AccountChannelLimitExceededException) Code() string {
  2113  	return "AccountChannelLimitExceededException"
  2114  }
  2115  
  2116  // Message returns the exception's message.
  2117  func (s *AccountChannelLimitExceededException) Message() string {
  2118  	if s.Message_ != nil {
  2119  		return *s.Message_
  2120  	}
  2121  	return ""
  2122  }
  2123  
  2124  // OrigErr always returns nil, satisfies awserr.Error interface.
  2125  func (s *AccountChannelLimitExceededException) OrigErr() error {
  2126  	return nil
  2127  }
  2128  
  2129  func (s *AccountChannelLimitExceededException) Error() string {
  2130  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2131  }
  2132  
  2133  // Status code returns the HTTP status code for the request's response error.
  2134  func (s *AccountChannelLimitExceededException) StatusCode() int {
  2135  	return s.RespMetadata.StatusCode
  2136  }
  2137  
  2138  // RequestID returns the service's response RequestID for request.
  2139  func (s *AccountChannelLimitExceededException) RequestID() string {
  2140  	return s.RespMetadata.RequestID
  2141  }
  2142  
  2143  // The number of streams created for the account is too high.
  2144  type AccountStreamLimitExceededException struct {
  2145  	_            struct{}                  `type:"structure"`
  2146  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2147  
  2148  	Message_ *string `locationName:"Message" type:"string"`
  2149  }
  2150  
  2151  // String returns the string representation.
  2152  //
  2153  // API parameter values that are decorated as "sensitive" in the API will not
  2154  // be included in the string output. The member name will be present, but the
  2155  // value will be replaced with "sensitive".
  2156  func (s AccountStreamLimitExceededException) String() string {
  2157  	return awsutil.Prettify(s)
  2158  }
  2159  
  2160  // GoString returns the string representation.
  2161  //
  2162  // API parameter values that are decorated as "sensitive" in the API will not
  2163  // be included in the string output. The member name will be present, but the
  2164  // value will be replaced with "sensitive".
  2165  func (s AccountStreamLimitExceededException) GoString() string {
  2166  	return s.String()
  2167  }
  2168  
  2169  func newErrorAccountStreamLimitExceededException(v protocol.ResponseMetadata) error {
  2170  	return &AccountStreamLimitExceededException{
  2171  		RespMetadata: v,
  2172  	}
  2173  }
  2174  
  2175  // Code returns the exception type name.
  2176  func (s *AccountStreamLimitExceededException) Code() string {
  2177  	return "AccountStreamLimitExceededException"
  2178  }
  2179  
  2180  // Message returns the exception's message.
  2181  func (s *AccountStreamLimitExceededException) Message() string {
  2182  	if s.Message_ != nil {
  2183  		return *s.Message_
  2184  	}
  2185  	return ""
  2186  }
  2187  
  2188  // OrigErr always returns nil, satisfies awserr.Error interface.
  2189  func (s *AccountStreamLimitExceededException) OrigErr() error {
  2190  	return nil
  2191  }
  2192  
  2193  func (s *AccountStreamLimitExceededException) Error() string {
  2194  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2195  }
  2196  
  2197  // Status code returns the HTTP status code for the request's response error.
  2198  func (s *AccountStreamLimitExceededException) StatusCode() int {
  2199  	return s.RespMetadata.StatusCode
  2200  }
  2201  
  2202  // RequestID returns the service's response RequestID for request.
  2203  func (s *AccountStreamLimitExceededException) RequestID() string {
  2204  	return s.RespMetadata.RequestID
  2205  }
  2206  
  2207  // A structure that encapsulates a signaling channel's metadata and properties.
  2208  type ChannelInfo struct {
  2209  	_ struct{} `type:"structure"`
  2210  
  2211  	// The Amazon Resource Name (ARN) of the signaling channel.
  2212  	ChannelARN *string `min:"1" type:"string"`
  2213  
  2214  	// The name of the signaling channel.
  2215  	ChannelName *string `min:"1" type:"string"`
  2216  
  2217  	// Current status of the signaling channel.
  2218  	ChannelStatus *string `type:"string" enum:"Status"`
  2219  
  2220  	// The type of the signaling channel.
  2221  	ChannelType *string `type:"string" enum:"ChannelType"`
  2222  
  2223  	// The time at which the signaling channel was created.
  2224  	CreationTime *time.Time `type:"timestamp"`
  2225  
  2226  	// A structure that contains the configuration for the SINGLE_MASTER channel
  2227  	// type.
  2228  	SingleMasterConfiguration *SingleMasterConfiguration `type:"structure"`
  2229  
  2230  	// The current version of the signaling channel.
  2231  	Version *string `min:"1" type:"string"`
  2232  }
  2233  
  2234  // String returns the string representation.
  2235  //
  2236  // API parameter values that are decorated as "sensitive" in the API will not
  2237  // be included in the string output. The member name will be present, but the
  2238  // value will be replaced with "sensitive".
  2239  func (s ChannelInfo) String() string {
  2240  	return awsutil.Prettify(s)
  2241  }
  2242  
  2243  // GoString returns the string representation.
  2244  //
  2245  // API parameter values that are decorated as "sensitive" in the API will not
  2246  // be included in the string output. The member name will be present, but the
  2247  // value will be replaced with "sensitive".
  2248  func (s ChannelInfo) GoString() string {
  2249  	return s.String()
  2250  }
  2251  
  2252  // SetChannelARN sets the ChannelARN field's value.
  2253  func (s *ChannelInfo) SetChannelARN(v string) *ChannelInfo {
  2254  	s.ChannelARN = &v
  2255  	return s
  2256  }
  2257  
  2258  // SetChannelName sets the ChannelName field's value.
  2259  func (s *ChannelInfo) SetChannelName(v string) *ChannelInfo {
  2260  	s.ChannelName = &v
  2261  	return s
  2262  }
  2263  
  2264  // SetChannelStatus sets the ChannelStatus field's value.
  2265  func (s *ChannelInfo) SetChannelStatus(v string) *ChannelInfo {
  2266  	s.ChannelStatus = &v
  2267  	return s
  2268  }
  2269  
  2270  // SetChannelType sets the ChannelType field's value.
  2271  func (s *ChannelInfo) SetChannelType(v string) *ChannelInfo {
  2272  	s.ChannelType = &v
  2273  	return s
  2274  }
  2275  
  2276  // SetCreationTime sets the CreationTime field's value.
  2277  func (s *ChannelInfo) SetCreationTime(v time.Time) *ChannelInfo {
  2278  	s.CreationTime = &v
  2279  	return s
  2280  }
  2281  
  2282  // SetSingleMasterConfiguration sets the SingleMasterConfiguration field's value.
  2283  func (s *ChannelInfo) SetSingleMasterConfiguration(v *SingleMasterConfiguration) *ChannelInfo {
  2284  	s.SingleMasterConfiguration = v
  2285  	return s
  2286  }
  2287  
  2288  // SetVersion sets the Version field's value.
  2289  func (s *ChannelInfo) SetVersion(v string) *ChannelInfo {
  2290  	s.Version = &v
  2291  	return s
  2292  }
  2293  
  2294  // An optional input parameter for the ListSignalingChannels API. When this
  2295  // parameter is specified while invoking ListSignalingChannels, the API returns
  2296  // only the channels that satisfy a condition specified in ChannelNameCondition.
  2297  type ChannelNameCondition struct {
  2298  	_ struct{} `type:"structure"`
  2299  
  2300  	// A comparison operator. Currently, you can only specify the BEGINS_WITH operator,
  2301  	// which finds signaling channels whose names begin with a given prefix.
  2302  	ComparisonOperator *string `type:"string" enum:"ComparisonOperator"`
  2303  
  2304  	// A value to compare.
  2305  	ComparisonValue *string `min:"1" type:"string"`
  2306  }
  2307  
  2308  // String returns the string representation.
  2309  //
  2310  // API parameter values that are decorated as "sensitive" in the API will not
  2311  // be included in the string output. The member name will be present, but the
  2312  // value will be replaced with "sensitive".
  2313  func (s ChannelNameCondition) String() string {
  2314  	return awsutil.Prettify(s)
  2315  }
  2316  
  2317  // GoString returns the string representation.
  2318  //
  2319  // API parameter values that are decorated as "sensitive" in the API will not
  2320  // be included in the string output. The member name will be present, but the
  2321  // value will be replaced with "sensitive".
  2322  func (s ChannelNameCondition) GoString() string {
  2323  	return s.String()
  2324  }
  2325  
  2326  // Validate inspects the fields of the type to determine if they are valid.
  2327  func (s *ChannelNameCondition) Validate() error {
  2328  	invalidParams := request.ErrInvalidParams{Context: "ChannelNameCondition"}
  2329  	if s.ComparisonValue != nil && len(*s.ComparisonValue) < 1 {
  2330  		invalidParams.Add(request.NewErrParamMinLen("ComparisonValue", 1))
  2331  	}
  2332  
  2333  	if invalidParams.Len() > 0 {
  2334  		return invalidParams
  2335  	}
  2336  	return nil
  2337  }
  2338  
  2339  // SetComparisonOperator sets the ComparisonOperator field's value.
  2340  func (s *ChannelNameCondition) SetComparisonOperator(v string) *ChannelNameCondition {
  2341  	s.ComparisonOperator = &v
  2342  	return s
  2343  }
  2344  
  2345  // SetComparisonValue sets the ComparisonValue field's value.
  2346  func (s *ChannelNameCondition) SetComparisonValue(v string) *ChannelNameCondition {
  2347  	s.ComparisonValue = &v
  2348  	return s
  2349  }
  2350  
  2351  // Kinesis Video Streams has throttled the request because you have exceeded
  2352  // the limit of allowed client calls. Try making the call later.
  2353  type ClientLimitExceededException struct {
  2354  	_            struct{}                  `type:"structure"`
  2355  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2356  
  2357  	Message_ *string `locationName:"Message" type:"string"`
  2358  }
  2359  
  2360  // String returns the string representation.
  2361  //
  2362  // API parameter values that are decorated as "sensitive" in the API will not
  2363  // be included in the string output. The member name will be present, but the
  2364  // value will be replaced with "sensitive".
  2365  func (s ClientLimitExceededException) String() string {
  2366  	return awsutil.Prettify(s)
  2367  }
  2368  
  2369  // GoString returns the string representation.
  2370  //
  2371  // API parameter values that are decorated as "sensitive" in the API will not
  2372  // be included in the string output. The member name will be present, but the
  2373  // value will be replaced with "sensitive".
  2374  func (s ClientLimitExceededException) GoString() string {
  2375  	return s.String()
  2376  }
  2377  
  2378  func newErrorClientLimitExceededException(v protocol.ResponseMetadata) error {
  2379  	return &ClientLimitExceededException{
  2380  		RespMetadata: v,
  2381  	}
  2382  }
  2383  
  2384  // Code returns the exception type name.
  2385  func (s *ClientLimitExceededException) Code() string {
  2386  	return "ClientLimitExceededException"
  2387  }
  2388  
  2389  // Message returns the exception's message.
  2390  func (s *ClientLimitExceededException) Message() string {
  2391  	if s.Message_ != nil {
  2392  		return *s.Message_
  2393  	}
  2394  	return ""
  2395  }
  2396  
  2397  // OrigErr always returns nil, satisfies awserr.Error interface.
  2398  func (s *ClientLimitExceededException) OrigErr() error {
  2399  	return nil
  2400  }
  2401  
  2402  func (s *ClientLimitExceededException) Error() string {
  2403  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2404  }
  2405  
  2406  // Status code returns the HTTP status code for the request's response error.
  2407  func (s *ClientLimitExceededException) StatusCode() int {
  2408  	return s.RespMetadata.StatusCode
  2409  }
  2410  
  2411  // RequestID returns the service's response RequestID for request.
  2412  func (s *ClientLimitExceededException) RequestID() string {
  2413  	return s.RespMetadata.RequestID
  2414  }
  2415  
  2416  type CreateSignalingChannelInput struct {
  2417  	_ struct{} `type:"structure"`
  2418  
  2419  	// A name for the signaling channel that you are creating. It must be unique
  2420  	// for each AWS account and AWS Region.
  2421  	//
  2422  	// ChannelName is a required field
  2423  	ChannelName *string `min:"1" type:"string" required:"true"`
  2424  
  2425  	// A type of the signaling channel that you are creating. Currently, SINGLE_MASTER
  2426  	// is the only supported channel type.
  2427  	ChannelType *string `type:"string" enum:"ChannelType"`
  2428  
  2429  	// A structure containing the configuration for the SINGLE_MASTER channel type.
  2430  	SingleMasterConfiguration *SingleMasterConfiguration `type:"structure"`
  2431  
  2432  	// A set of tags (key-value pairs) that you want to associate with this channel.
  2433  	Tags []*Tag `type:"list"`
  2434  }
  2435  
  2436  // String returns the string representation.
  2437  //
  2438  // API parameter values that are decorated as "sensitive" in the API will not
  2439  // be included in the string output. The member name will be present, but the
  2440  // value will be replaced with "sensitive".
  2441  func (s CreateSignalingChannelInput) String() string {
  2442  	return awsutil.Prettify(s)
  2443  }
  2444  
  2445  // GoString returns the string representation.
  2446  //
  2447  // API parameter values that are decorated as "sensitive" in the API will not
  2448  // be included in the string output. The member name will be present, but the
  2449  // value will be replaced with "sensitive".
  2450  func (s CreateSignalingChannelInput) GoString() string {
  2451  	return s.String()
  2452  }
  2453  
  2454  // Validate inspects the fields of the type to determine if they are valid.
  2455  func (s *CreateSignalingChannelInput) Validate() error {
  2456  	invalidParams := request.ErrInvalidParams{Context: "CreateSignalingChannelInput"}
  2457  	if s.ChannelName == nil {
  2458  		invalidParams.Add(request.NewErrParamRequired("ChannelName"))
  2459  	}
  2460  	if s.ChannelName != nil && len(*s.ChannelName) < 1 {
  2461  		invalidParams.Add(request.NewErrParamMinLen("ChannelName", 1))
  2462  	}
  2463  	if s.SingleMasterConfiguration != nil {
  2464  		if err := s.SingleMasterConfiguration.Validate(); err != nil {
  2465  			invalidParams.AddNested("SingleMasterConfiguration", err.(request.ErrInvalidParams))
  2466  		}
  2467  	}
  2468  	if s.Tags != nil {
  2469  		for i, v := range s.Tags {
  2470  			if v == nil {
  2471  				continue
  2472  			}
  2473  			if err := v.Validate(); err != nil {
  2474  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  2475  			}
  2476  		}
  2477  	}
  2478  
  2479  	if invalidParams.Len() > 0 {
  2480  		return invalidParams
  2481  	}
  2482  	return nil
  2483  }
  2484  
  2485  // SetChannelName sets the ChannelName field's value.
  2486  func (s *CreateSignalingChannelInput) SetChannelName(v string) *CreateSignalingChannelInput {
  2487  	s.ChannelName = &v
  2488  	return s
  2489  }
  2490  
  2491  // SetChannelType sets the ChannelType field's value.
  2492  func (s *CreateSignalingChannelInput) SetChannelType(v string) *CreateSignalingChannelInput {
  2493  	s.ChannelType = &v
  2494  	return s
  2495  }
  2496  
  2497  // SetSingleMasterConfiguration sets the SingleMasterConfiguration field's value.
  2498  func (s *CreateSignalingChannelInput) SetSingleMasterConfiguration(v *SingleMasterConfiguration) *CreateSignalingChannelInput {
  2499  	s.SingleMasterConfiguration = v
  2500  	return s
  2501  }
  2502  
  2503  // SetTags sets the Tags field's value.
  2504  func (s *CreateSignalingChannelInput) SetTags(v []*Tag) *CreateSignalingChannelInput {
  2505  	s.Tags = v
  2506  	return s
  2507  }
  2508  
  2509  type CreateSignalingChannelOutput struct {
  2510  	_ struct{} `type:"structure"`
  2511  
  2512  	// The Amazon Resource Name (ARN) of the created channel.
  2513  	ChannelARN *string `min:"1" type:"string"`
  2514  }
  2515  
  2516  // String returns the string representation.
  2517  //
  2518  // API parameter values that are decorated as "sensitive" in the API will not
  2519  // be included in the string output. The member name will be present, but the
  2520  // value will be replaced with "sensitive".
  2521  func (s CreateSignalingChannelOutput) String() string {
  2522  	return awsutil.Prettify(s)
  2523  }
  2524  
  2525  // GoString returns the string representation.
  2526  //
  2527  // API parameter values that are decorated as "sensitive" in the API will not
  2528  // be included in the string output. The member name will be present, but the
  2529  // value will be replaced with "sensitive".
  2530  func (s CreateSignalingChannelOutput) GoString() string {
  2531  	return s.String()
  2532  }
  2533  
  2534  // SetChannelARN sets the ChannelARN field's value.
  2535  func (s *CreateSignalingChannelOutput) SetChannelARN(v string) *CreateSignalingChannelOutput {
  2536  	s.ChannelARN = &v
  2537  	return s
  2538  }
  2539  
  2540  type CreateStreamInput struct {
  2541  	_ struct{} `type:"structure"`
  2542  
  2543  	// The number of hours that you want to retain the data in the stream. Kinesis
  2544  	// Video Streams retains the data in a data store that is associated with the
  2545  	// stream.
  2546  	//
  2547  	// The default value is 0, indicating that the stream does not persist data.
  2548  	//
  2549  	// When the DataRetentionInHours value is 0, consumers can still consume the
  2550  	// fragments that remain in the service host buffer, which has a retention time
  2551  	// limit of 5 minutes and a retention memory limit of 200 MB. Fragments are
  2552  	// removed from the buffer when either limit is reached.
  2553  	DataRetentionInHours *int64 `type:"integer"`
  2554  
  2555  	// The name of the device that is writing to the stream.
  2556  	//
  2557  	// In the current implementation, Kinesis Video Streams does not use this name.
  2558  	DeviceName *string `min:"1" type:"string"`
  2559  
  2560  	// The ID of the AWS Key Management Service (AWS KMS) key that you want Kinesis
  2561  	// Video Streams to use to encrypt stream data.
  2562  	//
  2563  	// If no key ID is specified, the default, Kinesis Video-managed key (aws/kinesisvideo)
  2564  	// is used.
  2565  	//
  2566  	// For more information, see DescribeKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters).
  2567  	KmsKeyId *string `min:"1" type:"string"`
  2568  
  2569  	// The media type of the stream. Consumers of the stream can use this information
  2570  	// when processing the stream. For more information about media types, see Media
  2571  	// Types (http://www.iana.org/assignments/media-types/media-types.xhtml). If
  2572  	// you choose to specify the MediaType, see Naming Requirements (https://tools.ietf.org/html/rfc6838#section-4.2)
  2573  	// for guidelines.
  2574  	//
  2575  	// Example valid values include "video/h264" and "video/h264,audio/aac".
  2576  	//
  2577  	// This parameter is optional; the default value is null (or empty in JSON).
  2578  	MediaType *string `min:"1" type:"string"`
  2579  
  2580  	// A name for the stream that you are creating.
  2581  	//
  2582  	// The stream name is an identifier for the stream, and must be unique for each
  2583  	// account and region.
  2584  	//
  2585  	// StreamName is a required field
  2586  	StreamName *string `min:"1" type:"string" required:"true"`
  2587  
  2588  	// A list of tags to associate with the specified stream. Each tag is a key-value
  2589  	// pair (the value is optional).
  2590  	Tags map[string]*string `min:"1" type:"map"`
  2591  }
  2592  
  2593  // String returns the string representation.
  2594  //
  2595  // API parameter values that are decorated as "sensitive" in the API will not
  2596  // be included in the string output. The member name will be present, but the
  2597  // value will be replaced with "sensitive".
  2598  func (s CreateStreamInput) String() string {
  2599  	return awsutil.Prettify(s)
  2600  }
  2601  
  2602  // GoString returns the string representation.
  2603  //
  2604  // API parameter values that are decorated as "sensitive" in the API will not
  2605  // be included in the string output. The member name will be present, but the
  2606  // value will be replaced with "sensitive".
  2607  func (s CreateStreamInput) GoString() string {
  2608  	return s.String()
  2609  }
  2610  
  2611  // Validate inspects the fields of the type to determine if they are valid.
  2612  func (s *CreateStreamInput) Validate() error {
  2613  	invalidParams := request.ErrInvalidParams{Context: "CreateStreamInput"}
  2614  	if s.DeviceName != nil && len(*s.DeviceName) < 1 {
  2615  		invalidParams.Add(request.NewErrParamMinLen("DeviceName", 1))
  2616  	}
  2617  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  2618  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  2619  	}
  2620  	if s.MediaType != nil && len(*s.MediaType) < 1 {
  2621  		invalidParams.Add(request.NewErrParamMinLen("MediaType", 1))
  2622  	}
  2623  	if s.StreamName == nil {
  2624  		invalidParams.Add(request.NewErrParamRequired("StreamName"))
  2625  	}
  2626  	if s.StreamName != nil && len(*s.StreamName) < 1 {
  2627  		invalidParams.Add(request.NewErrParamMinLen("StreamName", 1))
  2628  	}
  2629  	if s.Tags != nil && len(s.Tags) < 1 {
  2630  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  2631  	}
  2632  
  2633  	if invalidParams.Len() > 0 {
  2634  		return invalidParams
  2635  	}
  2636  	return nil
  2637  }
  2638  
  2639  // SetDataRetentionInHours sets the DataRetentionInHours field's value.
  2640  func (s *CreateStreamInput) SetDataRetentionInHours(v int64) *CreateStreamInput {
  2641  	s.DataRetentionInHours = &v
  2642  	return s
  2643  }
  2644  
  2645  // SetDeviceName sets the DeviceName field's value.
  2646  func (s *CreateStreamInput) SetDeviceName(v string) *CreateStreamInput {
  2647  	s.DeviceName = &v
  2648  	return s
  2649  }
  2650  
  2651  // SetKmsKeyId sets the KmsKeyId field's value.
  2652  func (s *CreateStreamInput) SetKmsKeyId(v string) *CreateStreamInput {
  2653  	s.KmsKeyId = &v
  2654  	return s
  2655  }
  2656  
  2657  // SetMediaType sets the MediaType field's value.
  2658  func (s *CreateStreamInput) SetMediaType(v string) *CreateStreamInput {
  2659  	s.MediaType = &v
  2660  	return s
  2661  }
  2662  
  2663  // SetStreamName sets the StreamName field's value.
  2664  func (s *CreateStreamInput) SetStreamName(v string) *CreateStreamInput {
  2665  	s.StreamName = &v
  2666  	return s
  2667  }
  2668  
  2669  // SetTags sets the Tags field's value.
  2670  func (s *CreateStreamInput) SetTags(v map[string]*string) *CreateStreamInput {
  2671  	s.Tags = v
  2672  	return s
  2673  }
  2674  
  2675  type CreateStreamOutput struct {
  2676  	_ struct{} `type:"structure"`
  2677  
  2678  	// The Amazon Resource Name (ARN) of the stream.
  2679  	StreamARN *string `min:"1" type:"string"`
  2680  }
  2681  
  2682  // String returns the string representation.
  2683  //
  2684  // API parameter values that are decorated as "sensitive" in the API will not
  2685  // be included in the string output. The member name will be present, but the
  2686  // value will be replaced with "sensitive".
  2687  func (s CreateStreamOutput) String() string {
  2688  	return awsutil.Prettify(s)
  2689  }
  2690  
  2691  // GoString returns the string representation.
  2692  //
  2693  // API parameter values that are decorated as "sensitive" in the API will not
  2694  // be included in the string output. The member name will be present, but the
  2695  // value will be replaced with "sensitive".
  2696  func (s CreateStreamOutput) GoString() string {
  2697  	return s.String()
  2698  }
  2699  
  2700  // SetStreamARN sets the StreamARN field's value.
  2701  func (s *CreateStreamOutput) SetStreamARN(v string) *CreateStreamOutput {
  2702  	s.StreamARN = &v
  2703  	return s
  2704  }
  2705  
  2706  type DeleteSignalingChannelInput struct {
  2707  	_ struct{} `type:"structure"`
  2708  
  2709  	// The Amazon Resource Name (ARN) of the signaling channel that you want to
  2710  	// delete.
  2711  	//
  2712  	// ChannelARN is a required field
  2713  	ChannelARN *string `min:"1" type:"string" required:"true"`
  2714  
  2715  	// The current version of the signaling channel that you want to delete. You
  2716  	// can obtain the current version by invoking the DescribeSignalingChannel or
  2717  	// ListSignalingChannels API operations.
  2718  	CurrentVersion *string `min:"1" type:"string"`
  2719  }
  2720  
  2721  // String returns the string representation.
  2722  //
  2723  // API parameter values that are decorated as "sensitive" in the API will not
  2724  // be included in the string output. The member name will be present, but the
  2725  // value will be replaced with "sensitive".
  2726  func (s DeleteSignalingChannelInput) String() string {
  2727  	return awsutil.Prettify(s)
  2728  }
  2729  
  2730  // GoString returns the string representation.
  2731  //
  2732  // API parameter values that are decorated as "sensitive" in the API will not
  2733  // be included in the string output. The member name will be present, but the
  2734  // value will be replaced with "sensitive".
  2735  func (s DeleteSignalingChannelInput) GoString() string {
  2736  	return s.String()
  2737  }
  2738  
  2739  // Validate inspects the fields of the type to determine if they are valid.
  2740  func (s *DeleteSignalingChannelInput) Validate() error {
  2741  	invalidParams := request.ErrInvalidParams{Context: "DeleteSignalingChannelInput"}
  2742  	if s.ChannelARN == nil {
  2743  		invalidParams.Add(request.NewErrParamRequired("ChannelARN"))
  2744  	}
  2745  	if s.ChannelARN != nil && len(*s.ChannelARN) < 1 {
  2746  		invalidParams.Add(request.NewErrParamMinLen("ChannelARN", 1))
  2747  	}
  2748  	if s.CurrentVersion != nil && len(*s.CurrentVersion) < 1 {
  2749  		invalidParams.Add(request.NewErrParamMinLen("CurrentVersion", 1))
  2750  	}
  2751  
  2752  	if invalidParams.Len() > 0 {
  2753  		return invalidParams
  2754  	}
  2755  	return nil
  2756  }
  2757  
  2758  // SetChannelARN sets the ChannelARN field's value.
  2759  func (s *DeleteSignalingChannelInput) SetChannelARN(v string) *DeleteSignalingChannelInput {
  2760  	s.ChannelARN = &v
  2761  	return s
  2762  }
  2763  
  2764  // SetCurrentVersion sets the CurrentVersion field's value.
  2765  func (s *DeleteSignalingChannelInput) SetCurrentVersion(v string) *DeleteSignalingChannelInput {
  2766  	s.CurrentVersion = &v
  2767  	return s
  2768  }
  2769  
  2770  type DeleteSignalingChannelOutput struct {
  2771  	_ struct{} `type:"structure" nopayload:"true"`
  2772  }
  2773  
  2774  // String returns the string representation.
  2775  //
  2776  // API parameter values that are decorated as "sensitive" in the API will not
  2777  // be included in the string output. The member name will be present, but the
  2778  // value will be replaced with "sensitive".
  2779  func (s DeleteSignalingChannelOutput) String() string {
  2780  	return awsutil.Prettify(s)
  2781  }
  2782  
  2783  // GoString returns the string representation.
  2784  //
  2785  // API parameter values that are decorated as "sensitive" in the API will not
  2786  // be included in the string output. The member name will be present, but the
  2787  // value will be replaced with "sensitive".
  2788  func (s DeleteSignalingChannelOutput) GoString() string {
  2789  	return s.String()
  2790  }
  2791  
  2792  type DeleteStreamInput struct {
  2793  	_ struct{} `type:"structure"`
  2794  
  2795  	// Optional: The version of the stream that you want to delete.
  2796  	//
  2797  	// Specify the version as a safeguard to ensure that your are deleting the correct
  2798  	// stream. To get the stream version, use the DescribeStream API.
  2799  	//
  2800  	// If not specified, only the CreationTime is checked before deleting the stream.
  2801  	CurrentVersion *string `min:"1" type:"string"`
  2802  
  2803  	// The Amazon Resource Name (ARN) of the stream that you want to delete.
  2804  	//
  2805  	// StreamARN is a required field
  2806  	StreamARN *string `min:"1" type:"string" required:"true"`
  2807  }
  2808  
  2809  // String returns the string representation.
  2810  //
  2811  // API parameter values that are decorated as "sensitive" in the API will not
  2812  // be included in the string output. The member name will be present, but the
  2813  // value will be replaced with "sensitive".
  2814  func (s DeleteStreamInput) String() string {
  2815  	return awsutil.Prettify(s)
  2816  }
  2817  
  2818  // GoString returns the string representation.
  2819  //
  2820  // API parameter values that are decorated as "sensitive" in the API will not
  2821  // be included in the string output. The member name will be present, but the
  2822  // value will be replaced with "sensitive".
  2823  func (s DeleteStreamInput) GoString() string {
  2824  	return s.String()
  2825  }
  2826  
  2827  // Validate inspects the fields of the type to determine if they are valid.
  2828  func (s *DeleteStreamInput) Validate() error {
  2829  	invalidParams := request.ErrInvalidParams{Context: "DeleteStreamInput"}
  2830  	if s.CurrentVersion != nil && len(*s.CurrentVersion) < 1 {
  2831  		invalidParams.Add(request.NewErrParamMinLen("CurrentVersion", 1))
  2832  	}
  2833  	if s.StreamARN == nil {
  2834  		invalidParams.Add(request.NewErrParamRequired("StreamARN"))
  2835  	}
  2836  	if s.StreamARN != nil && len(*s.StreamARN) < 1 {
  2837  		invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1))
  2838  	}
  2839  
  2840  	if invalidParams.Len() > 0 {
  2841  		return invalidParams
  2842  	}
  2843  	return nil
  2844  }
  2845  
  2846  // SetCurrentVersion sets the CurrentVersion field's value.
  2847  func (s *DeleteStreamInput) SetCurrentVersion(v string) *DeleteStreamInput {
  2848  	s.CurrentVersion = &v
  2849  	return s
  2850  }
  2851  
  2852  // SetStreamARN sets the StreamARN field's value.
  2853  func (s *DeleteStreamInput) SetStreamARN(v string) *DeleteStreamInput {
  2854  	s.StreamARN = &v
  2855  	return s
  2856  }
  2857  
  2858  type DeleteStreamOutput struct {
  2859  	_ struct{} `type:"structure" nopayload:"true"`
  2860  }
  2861  
  2862  // String returns the string representation.
  2863  //
  2864  // API parameter values that are decorated as "sensitive" in the API will not
  2865  // be included in the string output. The member name will be present, but the
  2866  // value will be replaced with "sensitive".
  2867  func (s DeleteStreamOutput) String() string {
  2868  	return awsutil.Prettify(s)
  2869  }
  2870  
  2871  // GoString returns the string representation.
  2872  //
  2873  // API parameter values that are decorated as "sensitive" in the API will not
  2874  // be included in the string output. The member name will be present, but the
  2875  // value will be replaced with "sensitive".
  2876  func (s DeleteStreamOutput) GoString() string {
  2877  	return s.String()
  2878  }
  2879  
  2880  type DescribeSignalingChannelInput struct {
  2881  	_ struct{} `type:"structure"`
  2882  
  2883  	// The ARN of the signaling channel that you want to describe.
  2884  	ChannelARN *string `min:"1" type:"string"`
  2885  
  2886  	// The name of the signaling channel that you want to describe.
  2887  	ChannelName *string `min:"1" type:"string"`
  2888  }
  2889  
  2890  // String returns the string representation.
  2891  //
  2892  // API parameter values that are decorated as "sensitive" in the API will not
  2893  // be included in the string output. The member name will be present, but the
  2894  // value will be replaced with "sensitive".
  2895  func (s DescribeSignalingChannelInput) String() string {
  2896  	return awsutil.Prettify(s)
  2897  }
  2898  
  2899  // GoString returns the string representation.
  2900  //
  2901  // API parameter values that are decorated as "sensitive" in the API will not
  2902  // be included in the string output. The member name will be present, but the
  2903  // value will be replaced with "sensitive".
  2904  func (s DescribeSignalingChannelInput) GoString() string {
  2905  	return s.String()
  2906  }
  2907  
  2908  // Validate inspects the fields of the type to determine if they are valid.
  2909  func (s *DescribeSignalingChannelInput) Validate() error {
  2910  	invalidParams := request.ErrInvalidParams{Context: "DescribeSignalingChannelInput"}
  2911  	if s.ChannelARN != nil && len(*s.ChannelARN) < 1 {
  2912  		invalidParams.Add(request.NewErrParamMinLen("ChannelARN", 1))
  2913  	}
  2914  	if s.ChannelName != nil && len(*s.ChannelName) < 1 {
  2915  		invalidParams.Add(request.NewErrParamMinLen("ChannelName", 1))
  2916  	}
  2917  
  2918  	if invalidParams.Len() > 0 {
  2919  		return invalidParams
  2920  	}
  2921  	return nil
  2922  }
  2923  
  2924  // SetChannelARN sets the ChannelARN field's value.
  2925  func (s *DescribeSignalingChannelInput) SetChannelARN(v string) *DescribeSignalingChannelInput {
  2926  	s.ChannelARN = &v
  2927  	return s
  2928  }
  2929  
  2930  // SetChannelName sets the ChannelName field's value.
  2931  func (s *DescribeSignalingChannelInput) SetChannelName(v string) *DescribeSignalingChannelInput {
  2932  	s.ChannelName = &v
  2933  	return s
  2934  }
  2935  
  2936  type DescribeSignalingChannelOutput struct {
  2937  	_ struct{} `type:"structure"`
  2938  
  2939  	// A structure that encapsulates the specified signaling channel's metadata
  2940  	// and properties.
  2941  	ChannelInfo *ChannelInfo `type:"structure"`
  2942  }
  2943  
  2944  // String returns the string representation.
  2945  //
  2946  // API parameter values that are decorated as "sensitive" in the API will not
  2947  // be included in the string output. The member name will be present, but the
  2948  // value will be replaced with "sensitive".
  2949  func (s DescribeSignalingChannelOutput) String() string {
  2950  	return awsutil.Prettify(s)
  2951  }
  2952  
  2953  // GoString returns the string representation.
  2954  //
  2955  // API parameter values that are decorated as "sensitive" in the API will not
  2956  // be included in the string output. The member name will be present, but the
  2957  // value will be replaced with "sensitive".
  2958  func (s DescribeSignalingChannelOutput) GoString() string {
  2959  	return s.String()
  2960  }
  2961  
  2962  // SetChannelInfo sets the ChannelInfo field's value.
  2963  func (s *DescribeSignalingChannelOutput) SetChannelInfo(v *ChannelInfo) *DescribeSignalingChannelOutput {
  2964  	s.ChannelInfo = v
  2965  	return s
  2966  }
  2967  
  2968  type DescribeStreamInput struct {
  2969  	_ struct{} `type:"structure"`
  2970  
  2971  	// The Amazon Resource Name (ARN) of the stream.
  2972  	StreamARN *string `min:"1" type:"string"`
  2973  
  2974  	// The name of the stream.
  2975  	StreamName *string `min:"1" type:"string"`
  2976  }
  2977  
  2978  // String returns the string representation.
  2979  //
  2980  // API parameter values that are decorated as "sensitive" in the API will not
  2981  // be included in the string output. The member name will be present, but the
  2982  // value will be replaced with "sensitive".
  2983  func (s DescribeStreamInput) String() string {
  2984  	return awsutil.Prettify(s)
  2985  }
  2986  
  2987  // GoString returns the string representation.
  2988  //
  2989  // API parameter values that are decorated as "sensitive" in the API will not
  2990  // be included in the string output. The member name will be present, but the
  2991  // value will be replaced with "sensitive".
  2992  func (s DescribeStreamInput) GoString() string {
  2993  	return s.String()
  2994  }
  2995  
  2996  // Validate inspects the fields of the type to determine if they are valid.
  2997  func (s *DescribeStreamInput) Validate() error {
  2998  	invalidParams := request.ErrInvalidParams{Context: "DescribeStreamInput"}
  2999  	if s.StreamARN != nil && len(*s.StreamARN) < 1 {
  3000  		invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1))
  3001  	}
  3002  	if s.StreamName != nil && len(*s.StreamName) < 1 {
  3003  		invalidParams.Add(request.NewErrParamMinLen("StreamName", 1))
  3004  	}
  3005  
  3006  	if invalidParams.Len() > 0 {
  3007  		return invalidParams
  3008  	}
  3009  	return nil
  3010  }
  3011  
  3012  // SetStreamARN sets the StreamARN field's value.
  3013  func (s *DescribeStreamInput) SetStreamARN(v string) *DescribeStreamInput {
  3014  	s.StreamARN = &v
  3015  	return s
  3016  }
  3017  
  3018  // SetStreamName sets the StreamName field's value.
  3019  func (s *DescribeStreamInput) SetStreamName(v string) *DescribeStreamInput {
  3020  	s.StreamName = &v
  3021  	return s
  3022  }
  3023  
  3024  type DescribeStreamOutput struct {
  3025  	_ struct{} `type:"structure"`
  3026  
  3027  	// An object that describes the stream.
  3028  	StreamInfo *StreamInfo `type:"structure"`
  3029  }
  3030  
  3031  // String returns the string representation.
  3032  //
  3033  // API parameter values that are decorated as "sensitive" in the API will not
  3034  // be included in the string output. The member name will be present, but the
  3035  // value will be replaced with "sensitive".
  3036  func (s DescribeStreamOutput) String() string {
  3037  	return awsutil.Prettify(s)
  3038  }
  3039  
  3040  // GoString returns the string representation.
  3041  //
  3042  // API parameter values that are decorated as "sensitive" in the API will not
  3043  // be included in the string output. The member name will be present, but the
  3044  // value will be replaced with "sensitive".
  3045  func (s DescribeStreamOutput) GoString() string {
  3046  	return s.String()
  3047  }
  3048  
  3049  // SetStreamInfo sets the StreamInfo field's value.
  3050  func (s *DescribeStreamOutput) SetStreamInfo(v *StreamInfo) *DescribeStreamOutput {
  3051  	s.StreamInfo = v
  3052  	return s
  3053  }
  3054  
  3055  // Not implemented.
  3056  type DeviceStreamLimitExceededException struct {
  3057  	_            struct{}                  `type:"structure"`
  3058  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3059  
  3060  	Message_ *string `locationName:"Message" type:"string"`
  3061  }
  3062  
  3063  // String returns the string representation.
  3064  //
  3065  // API parameter values that are decorated as "sensitive" in the API will not
  3066  // be included in the string output. The member name will be present, but the
  3067  // value will be replaced with "sensitive".
  3068  func (s DeviceStreamLimitExceededException) String() string {
  3069  	return awsutil.Prettify(s)
  3070  }
  3071  
  3072  // GoString returns the string representation.
  3073  //
  3074  // API parameter values that are decorated as "sensitive" in the API will not
  3075  // be included in the string output. The member name will be present, but the
  3076  // value will be replaced with "sensitive".
  3077  func (s DeviceStreamLimitExceededException) GoString() string {
  3078  	return s.String()
  3079  }
  3080  
  3081  func newErrorDeviceStreamLimitExceededException(v protocol.ResponseMetadata) error {
  3082  	return &DeviceStreamLimitExceededException{
  3083  		RespMetadata: v,
  3084  	}
  3085  }
  3086  
  3087  // Code returns the exception type name.
  3088  func (s *DeviceStreamLimitExceededException) Code() string {
  3089  	return "DeviceStreamLimitExceededException"
  3090  }
  3091  
  3092  // Message returns the exception's message.
  3093  func (s *DeviceStreamLimitExceededException) Message() string {
  3094  	if s.Message_ != nil {
  3095  		return *s.Message_
  3096  	}
  3097  	return ""
  3098  }
  3099  
  3100  // OrigErr always returns nil, satisfies awserr.Error interface.
  3101  func (s *DeviceStreamLimitExceededException) OrigErr() error {
  3102  	return nil
  3103  }
  3104  
  3105  func (s *DeviceStreamLimitExceededException) Error() string {
  3106  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3107  }
  3108  
  3109  // Status code returns the HTTP status code for the request's response error.
  3110  func (s *DeviceStreamLimitExceededException) StatusCode() int {
  3111  	return s.RespMetadata.StatusCode
  3112  }
  3113  
  3114  // RequestID returns the service's response RequestID for request.
  3115  func (s *DeviceStreamLimitExceededException) RequestID() string {
  3116  	return s.RespMetadata.RequestID
  3117  }
  3118  
  3119  type GetDataEndpointInput struct {
  3120  	_ struct{} `type:"structure"`
  3121  
  3122  	// The name of the API action for which to get an endpoint.
  3123  	//
  3124  	// APIName is a required field
  3125  	APIName *string `type:"string" required:"true" enum:"APIName"`
  3126  
  3127  	// The Amazon Resource Name (ARN) of the stream that you want to get the endpoint
  3128  	// for. You must specify either this parameter or a StreamName in the request.
  3129  	StreamARN *string `min:"1" type:"string"`
  3130  
  3131  	// The name of the stream that you want to get the endpoint for. You must specify
  3132  	// either this parameter or a StreamARN in the request.
  3133  	StreamName *string `min:"1" type:"string"`
  3134  }
  3135  
  3136  // String returns the string representation.
  3137  //
  3138  // API parameter values that are decorated as "sensitive" in the API will not
  3139  // be included in the string output. The member name will be present, but the
  3140  // value will be replaced with "sensitive".
  3141  func (s GetDataEndpointInput) String() string {
  3142  	return awsutil.Prettify(s)
  3143  }
  3144  
  3145  // GoString returns the string representation.
  3146  //
  3147  // API parameter values that are decorated as "sensitive" in the API will not
  3148  // be included in the string output. The member name will be present, but the
  3149  // value will be replaced with "sensitive".
  3150  func (s GetDataEndpointInput) GoString() string {
  3151  	return s.String()
  3152  }
  3153  
  3154  // Validate inspects the fields of the type to determine if they are valid.
  3155  func (s *GetDataEndpointInput) Validate() error {
  3156  	invalidParams := request.ErrInvalidParams{Context: "GetDataEndpointInput"}
  3157  	if s.APIName == nil {
  3158  		invalidParams.Add(request.NewErrParamRequired("APIName"))
  3159  	}
  3160  	if s.StreamARN != nil && len(*s.StreamARN) < 1 {
  3161  		invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1))
  3162  	}
  3163  	if s.StreamName != nil && len(*s.StreamName) < 1 {
  3164  		invalidParams.Add(request.NewErrParamMinLen("StreamName", 1))
  3165  	}
  3166  
  3167  	if invalidParams.Len() > 0 {
  3168  		return invalidParams
  3169  	}
  3170  	return nil
  3171  }
  3172  
  3173  // SetAPIName sets the APIName field's value.
  3174  func (s *GetDataEndpointInput) SetAPIName(v string) *GetDataEndpointInput {
  3175  	s.APIName = &v
  3176  	return s
  3177  }
  3178  
  3179  // SetStreamARN sets the StreamARN field's value.
  3180  func (s *GetDataEndpointInput) SetStreamARN(v string) *GetDataEndpointInput {
  3181  	s.StreamARN = &v
  3182  	return s
  3183  }
  3184  
  3185  // SetStreamName sets the StreamName field's value.
  3186  func (s *GetDataEndpointInput) SetStreamName(v string) *GetDataEndpointInput {
  3187  	s.StreamName = &v
  3188  	return s
  3189  }
  3190  
  3191  type GetDataEndpointOutput struct {
  3192  	_ struct{} `type:"structure"`
  3193  
  3194  	// The endpoint value. To read data from the stream or to write data to it,
  3195  	// specify this endpoint in your application.
  3196  	DataEndpoint *string `type:"string"`
  3197  }
  3198  
  3199  // String returns the string representation.
  3200  //
  3201  // API parameter values that are decorated as "sensitive" in the API will not
  3202  // be included in the string output. The member name will be present, but the
  3203  // value will be replaced with "sensitive".
  3204  func (s GetDataEndpointOutput) String() string {
  3205  	return awsutil.Prettify(s)
  3206  }
  3207  
  3208  // GoString returns the string representation.
  3209  //
  3210  // API parameter values that are decorated as "sensitive" in the API will not
  3211  // be included in the string output. The member name will be present, but the
  3212  // value will be replaced with "sensitive".
  3213  func (s GetDataEndpointOutput) GoString() string {
  3214  	return s.String()
  3215  }
  3216  
  3217  // SetDataEndpoint sets the DataEndpoint field's value.
  3218  func (s *GetDataEndpointOutput) SetDataEndpoint(v string) *GetDataEndpointOutput {
  3219  	s.DataEndpoint = &v
  3220  	return s
  3221  }
  3222  
  3223  type GetSignalingChannelEndpointInput struct {
  3224  	_ struct{} `type:"structure"`
  3225  
  3226  	// The Amazon Resource Name (ARN) of the signalling channel for which you want
  3227  	// to get an endpoint.
  3228  	//
  3229  	// ChannelARN is a required field
  3230  	ChannelARN *string `min:"1" type:"string" required:"true"`
  3231  
  3232  	// A structure containing the endpoint configuration for the SINGLE_MASTER channel
  3233  	// type.
  3234  	SingleMasterChannelEndpointConfiguration *SingleMasterChannelEndpointConfiguration `type:"structure"`
  3235  }
  3236  
  3237  // String returns the string representation.
  3238  //
  3239  // API parameter values that are decorated as "sensitive" in the API will not
  3240  // be included in the string output. The member name will be present, but the
  3241  // value will be replaced with "sensitive".
  3242  func (s GetSignalingChannelEndpointInput) String() string {
  3243  	return awsutil.Prettify(s)
  3244  }
  3245  
  3246  // GoString returns the string representation.
  3247  //
  3248  // API parameter values that are decorated as "sensitive" in the API will not
  3249  // be included in the string output. The member name will be present, but the
  3250  // value will be replaced with "sensitive".
  3251  func (s GetSignalingChannelEndpointInput) GoString() string {
  3252  	return s.String()
  3253  }
  3254  
  3255  // Validate inspects the fields of the type to determine if they are valid.
  3256  func (s *GetSignalingChannelEndpointInput) Validate() error {
  3257  	invalidParams := request.ErrInvalidParams{Context: "GetSignalingChannelEndpointInput"}
  3258  	if s.ChannelARN == nil {
  3259  		invalidParams.Add(request.NewErrParamRequired("ChannelARN"))
  3260  	}
  3261  	if s.ChannelARN != nil && len(*s.ChannelARN) < 1 {
  3262  		invalidParams.Add(request.NewErrParamMinLen("ChannelARN", 1))
  3263  	}
  3264  	if s.SingleMasterChannelEndpointConfiguration != nil {
  3265  		if err := s.SingleMasterChannelEndpointConfiguration.Validate(); err != nil {
  3266  			invalidParams.AddNested("SingleMasterChannelEndpointConfiguration", err.(request.ErrInvalidParams))
  3267  		}
  3268  	}
  3269  
  3270  	if invalidParams.Len() > 0 {
  3271  		return invalidParams
  3272  	}
  3273  	return nil
  3274  }
  3275  
  3276  // SetChannelARN sets the ChannelARN field's value.
  3277  func (s *GetSignalingChannelEndpointInput) SetChannelARN(v string) *GetSignalingChannelEndpointInput {
  3278  	s.ChannelARN = &v
  3279  	return s
  3280  }
  3281  
  3282  // SetSingleMasterChannelEndpointConfiguration sets the SingleMasterChannelEndpointConfiguration field's value.
  3283  func (s *GetSignalingChannelEndpointInput) SetSingleMasterChannelEndpointConfiguration(v *SingleMasterChannelEndpointConfiguration) *GetSignalingChannelEndpointInput {
  3284  	s.SingleMasterChannelEndpointConfiguration = v
  3285  	return s
  3286  }
  3287  
  3288  type GetSignalingChannelEndpointOutput struct {
  3289  	_ struct{} `type:"structure"`
  3290  
  3291  	// A list of endpoints for the specified signaling channel.
  3292  	ResourceEndpointList []*ResourceEndpointListItem `type:"list"`
  3293  }
  3294  
  3295  // String returns the string representation.
  3296  //
  3297  // API parameter values that are decorated as "sensitive" in the API will not
  3298  // be included in the string output. The member name will be present, but the
  3299  // value will be replaced with "sensitive".
  3300  func (s GetSignalingChannelEndpointOutput) String() string {
  3301  	return awsutil.Prettify(s)
  3302  }
  3303  
  3304  // GoString returns the string representation.
  3305  //
  3306  // API parameter values that are decorated as "sensitive" in the API will not
  3307  // be included in the string output. The member name will be present, but the
  3308  // value will be replaced with "sensitive".
  3309  func (s GetSignalingChannelEndpointOutput) GoString() string {
  3310  	return s.String()
  3311  }
  3312  
  3313  // SetResourceEndpointList sets the ResourceEndpointList field's value.
  3314  func (s *GetSignalingChannelEndpointOutput) SetResourceEndpointList(v []*ResourceEndpointListItem) *GetSignalingChannelEndpointOutput {
  3315  	s.ResourceEndpointList = v
  3316  	return s
  3317  }
  3318  
  3319  // The value for this input parameter is invalid.
  3320  type InvalidArgumentException struct {
  3321  	_            struct{}                  `type:"structure"`
  3322  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3323  
  3324  	Message_ *string `locationName:"Message" type:"string"`
  3325  }
  3326  
  3327  // String returns the string representation.
  3328  //
  3329  // API parameter values that are decorated as "sensitive" in the API will not
  3330  // be included in the string output. The member name will be present, but the
  3331  // value will be replaced with "sensitive".
  3332  func (s InvalidArgumentException) String() string {
  3333  	return awsutil.Prettify(s)
  3334  }
  3335  
  3336  // GoString returns the string representation.
  3337  //
  3338  // API parameter values that are decorated as "sensitive" in the API will not
  3339  // be included in the string output. The member name will be present, but the
  3340  // value will be replaced with "sensitive".
  3341  func (s InvalidArgumentException) GoString() string {
  3342  	return s.String()
  3343  }
  3344  
  3345  func newErrorInvalidArgumentException(v protocol.ResponseMetadata) error {
  3346  	return &InvalidArgumentException{
  3347  		RespMetadata: v,
  3348  	}
  3349  }
  3350  
  3351  // Code returns the exception type name.
  3352  func (s *InvalidArgumentException) Code() string {
  3353  	return "InvalidArgumentException"
  3354  }
  3355  
  3356  // Message returns the exception's message.
  3357  func (s *InvalidArgumentException) Message() string {
  3358  	if s.Message_ != nil {
  3359  		return *s.Message_
  3360  	}
  3361  	return ""
  3362  }
  3363  
  3364  // OrigErr always returns nil, satisfies awserr.Error interface.
  3365  func (s *InvalidArgumentException) OrigErr() error {
  3366  	return nil
  3367  }
  3368  
  3369  func (s *InvalidArgumentException) Error() string {
  3370  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3371  }
  3372  
  3373  // Status code returns the HTTP status code for the request's response error.
  3374  func (s *InvalidArgumentException) StatusCode() int {
  3375  	return s.RespMetadata.StatusCode
  3376  }
  3377  
  3378  // RequestID returns the service's response RequestID for request.
  3379  func (s *InvalidArgumentException) RequestID() string {
  3380  	return s.RespMetadata.RequestID
  3381  }
  3382  
  3383  // Not implemented.
  3384  type InvalidDeviceException struct {
  3385  	_            struct{}                  `type:"structure"`
  3386  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3387  
  3388  	Message_ *string `locationName:"Message" type:"string"`
  3389  }
  3390  
  3391  // String returns the string representation.
  3392  //
  3393  // API parameter values that are decorated as "sensitive" in the API will not
  3394  // be included in the string output. The member name will be present, but the
  3395  // value will be replaced with "sensitive".
  3396  func (s InvalidDeviceException) String() string {
  3397  	return awsutil.Prettify(s)
  3398  }
  3399  
  3400  // GoString returns the string representation.
  3401  //
  3402  // API parameter values that are decorated as "sensitive" in the API will not
  3403  // be included in the string output. The member name will be present, but the
  3404  // value will be replaced with "sensitive".
  3405  func (s InvalidDeviceException) GoString() string {
  3406  	return s.String()
  3407  }
  3408  
  3409  func newErrorInvalidDeviceException(v protocol.ResponseMetadata) error {
  3410  	return &InvalidDeviceException{
  3411  		RespMetadata: v,
  3412  	}
  3413  }
  3414  
  3415  // Code returns the exception type name.
  3416  func (s *InvalidDeviceException) Code() string {
  3417  	return "InvalidDeviceException"
  3418  }
  3419  
  3420  // Message returns the exception's message.
  3421  func (s *InvalidDeviceException) Message() string {
  3422  	if s.Message_ != nil {
  3423  		return *s.Message_
  3424  	}
  3425  	return ""
  3426  }
  3427  
  3428  // OrigErr always returns nil, satisfies awserr.Error interface.
  3429  func (s *InvalidDeviceException) OrigErr() error {
  3430  	return nil
  3431  }
  3432  
  3433  func (s *InvalidDeviceException) Error() string {
  3434  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3435  }
  3436  
  3437  // Status code returns the HTTP status code for the request's response error.
  3438  func (s *InvalidDeviceException) StatusCode() int {
  3439  	return s.RespMetadata.StatusCode
  3440  }
  3441  
  3442  // RequestID returns the service's response RequestID for request.
  3443  func (s *InvalidDeviceException) RequestID() string {
  3444  	return s.RespMetadata.RequestID
  3445  }
  3446  
  3447  // The format of the StreamARN is invalid.
  3448  type InvalidResourceFormatException struct {
  3449  	_            struct{}                  `type:"structure"`
  3450  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3451  
  3452  	Message_ *string `locationName:"Message" type:"string"`
  3453  }
  3454  
  3455  // String returns the string representation.
  3456  //
  3457  // API parameter values that are decorated as "sensitive" in the API will not
  3458  // be included in the string output. The member name will be present, but the
  3459  // value will be replaced with "sensitive".
  3460  func (s InvalidResourceFormatException) String() string {
  3461  	return awsutil.Prettify(s)
  3462  }
  3463  
  3464  // GoString returns the string representation.
  3465  //
  3466  // API parameter values that are decorated as "sensitive" in the API will not
  3467  // be included in the string output. The member name will be present, but the
  3468  // value will be replaced with "sensitive".
  3469  func (s InvalidResourceFormatException) GoString() string {
  3470  	return s.String()
  3471  }
  3472  
  3473  func newErrorInvalidResourceFormatException(v protocol.ResponseMetadata) error {
  3474  	return &InvalidResourceFormatException{
  3475  		RespMetadata: v,
  3476  	}
  3477  }
  3478  
  3479  // Code returns the exception type name.
  3480  func (s *InvalidResourceFormatException) Code() string {
  3481  	return "InvalidResourceFormatException"
  3482  }
  3483  
  3484  // Message returns the exception's message.
  3485  func (s *InvalidResourceFormatException) Message() string {
  3486  	if s.Message_ != nil {
  3487  		return *s.Message_
  3488  	}
  3489  	return ""
  3490  }
  3491  
  3492  // OrigErr always returns nil, satisfies awserr.Error interface.
  3493  func (s *InvalidResourceFormatException) OrigErr() error {
  3494  	return nil
  3495  }
  3496  
  3497  func (s *InvalidResourceFormatException) Error() string {
  3498  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3499  }
  3500  
  3501  // Status code returns the HTTP status code for the request's response error.
  3502  func (s *InvalidResourceFormatException) StatusCode() int {
  3503  	return s.RespMetadata.StatusCode
  3504  }
  3505  
  3506  // RequestID returns the service's response RequestID for request.
  3507  func (s *InvalidResourceFormatException) RequestID() string {
  3508  	return s.RespMetadata.RequestID
  3509  }
  3510  
  3511  type ListSignalingChannelsInput struct {
  3512  	_ struct{} `type:"structure"`
  3513  
  3514  	// Optional: Returns only the channels that satisfy a specific condition.
  3515  	ChannelNameCondition *ChannelNameCondition `type:"structure"`
  3516  
  3517  	// The maximum number of channels to return in the response. The default is
  3518  	// 500.
  3519  	MaxResults *int64 `min:"1" type:"integer"`
  3520  
  3521  	// If you specify this parameter, when the result of a ListSignalingChannels
  3522  	// operation is truncated, the call returns the NextToken in the response. To
  3523  	// get another batch of channels, provide this token in your next request.
  3524  	NextToken *string `type:"string"`
  3525  }
  3526  
  3527  // String returns the string representation.
  3528  //
  3529  // API parameter values that are decorated as "sensitive" in the API will not
  3530  // be included in the string output. The member name will be present, but the
  3531  // value will be replaced with "sensitive".
  3532  func (s ListSignalingChannelsInput) String() string {
  3533  	return awsutil.Prettify(s)
  3534  }
  3535  
  3536  // GoString returns the string representation.
  3537  //
  3538  // API parameter values that are decorated as "sensitive" in the API will not
  3539  // be included in the string output. The member name will be present, but the
  3540  // value will be replaced with "sensitive".
  3541  func (s ListSignalingChannelsInput) GoString() string {
  3542  	return s.String()
  3543  }
  3544  
  3545  // Validate inspects the fields of the type to determine if they are valid.
  3546  func (s *ListSignalingChannelsInput) Validate() error {
  3547  	invalidParams := request.ErrInvalidParams{Context: "ListSignalingChannelsInput"}
  3548  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3549  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3550  	}
  3551  	if s.ChannelNameCondition != nil {
  3552  		if err := s.ChannelNameCondition.Validate(); err != nil {
  3553  			invalidParams.AddNested("ChannelNameCondition", err.(request.ErrInvalidParams))
  3554  		}
  3555  	}
  3556  
  3557  	if invalidParams.Len() > 0 {
  3558  		return invalidParams
  3559  	}
  3560  	return nil
  3561  }
  3562  
  3563  // SetChannelNameCondition sets the ChannelNameCondition field's value.
  3564  func (s *ListSignalingChannelsInput) SetChannelNameCondition(v *ChannelNameCondition) *ListSignalingChannelsInput {
  3565  	s.ChannelNameCondition = v
  3566  	return s
  3567  }
  3568  
  3569  // SetMaxResults sets the MaxResults field's value.
  3570  func (s *ListSignalingChannelsInput) SetMaxResults(v int64) *ListSignalingChannelsInput {
  3571  	s.MaxResults = &v
  3572  	return s
  3573  }
  3574  
  3575  // SetNextToken sets the NextToken field's value.
  3576  func (s *ListSignalingChannelsInput) SetNextToken(v string) *ListSignalingChannelsInput {
  3577  	s.NextToken = &v
  3578  	return s
  3579  }
  3580  
  3581  type ListSignalingChannelsOutput struct {
  3582  	_ struct{} `type:"structure"`
  3583  
  3584  	// An array of ChannelInfo objects.
  3585  	ChannelInfoList []*ChannelInfo `type:"list"`
  3586  
  3587  	// If the response is truncated, the call returns this element with a token.
  3588  	// To get the next batch of streams, use this token in your next request.
  3589  	NextToken *string `type:"string"`
  3590  }
  3591  
  3592  // String returns the string representation.
  3593  //
  3594  // API parameter values that are decorated as "sensitive" in the API will not
  3595  // be included in the string output. The member name will be present, but the
  3596  // value will be replaced with "sensitive".
  3597  func (s ListSignalingChannelsOutput) String() string {
  3598  	return awsutil.Prettify(s)
  3599  }
  3600  
  3601  // GoString returns the string representation.
  3602  //
  3603  // API parameter values that are decorated as "sensitive" in the API will not
  3604  // be included in the string output. The member name will be present, but the
  3605  // value will be replaced with "sensitive".
  3606  func (s ListSignalingChannelsOutput) GoString() string {
  3607  	return s.String()
  3608  }
  3609  
  3610  // SetChannelInfoList sets the ChannelInfoList field's value.
  3611  func (s *ListSignalingChannelsOutput) SetChannelInfoList(v []*ChannelInfo) *ListSignalingChannelsOutput {
  3612  	s.ChannelInfoList = v
  3613  	return s
  3614  }
  3615  
  3616  // SetNextToken sets the NextToken field's value.
  3617  func (s *ListSignalingChannelsOutput) SetNextToken(v string) *ListSignalingChannelsOutput {
  3618  	s.NextToken = &v
  3619  	return s
  3620  }
  3621  
  3622  type ListStreamsInput struct {
  3623  	_ struct{} `type:"structure"`
  3624  
  3625  	// The maximum number of streams to return in the response. The default is 10,000.
  3626  	MaxResults *int64 `min:"1" type:"integer"`
  3627  
  3628  	// If you specify this parameter, when the result of a ListStreams operation
  3629  	// is truncated, the call returns the NextToken in the response. To get another
  3630  	// batch of streams, provide this token in your next request.
  3631  	NextToken *string `type:"string"`
  3632  
  3633  	// Optional: Returns only streams that satisfy a specific condition. Currently,
  3634  	// you can specify only the prefix of a stream name as a condition.
  3635  	StreamNameCondition *StreamNameCondition `type:"structure"`
  3636  }
  3637  
  3638  // String returns the string representation.
  3639  //
  3640  // API parameter values that are decorated as "sensitive" in the API will not
  3641  // be included in the string output. The member name will be present, but the
  3642  // value will be replaced with "sensitive".
  3643  func (s ListStreamsInput) String() string {
  3644  	return awsutil.Prettify(s)
  3645  }
  3646  
  3647  // GoString returns the string representation.
  3648  //
  3649  // API parameter values that are decorated as "sensitive" in the API will not
  3650  // be included in the string output. The member name will be present, but the
  3651  // value will be replaced with "sensitive".
  3652  func (s ListStreamsInput) GoString() string {
  3653  	return s.String()
  3654  }
  3655  
  3656  // Validate inspects the fields of the type to determine if they are valid.
  3657  func (s *ListStreamsInput) Validate() error {
  3658  	invalidParams := request.ErrInvalidParams{Context: "ListStreamsInput"}
  3659  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3660  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3661  	}
  3662  	if s.StreamNameCondition != nil {
  3663  		if err := s.StreamNameCondition.Validate(); err != nil {
  3664  			invalidParams.AddNested("StreamNameCondition", err.(request.ErrInvalidParams))
  3665  		}
  3666  	}
  3667  
  3668  	if invalidParams.Len() > 0 {
  3669  		return invalidParams
  3670  	}
  3671  	return nil
  3672  }
  3673  
  3674  // SetMaxResults sets the MaxResults field's value.
  3675  func (s *ListStreamsInput) SetMaxResults(v int64) *ListStreamsInput {
  3676  	s.MaxResults = &v
  3677  	return s
  3678  }
  3679  
  3680  // SetNextToken sets the NextToken field's value.
  3681  func (s *ListStreamsInput) SetNextToken(v string) *ListStreamsInput {
  3682  	s.NextToken = &v
  3683  	return s
  3684  }
  3685  
  3686  // SetStreamNameCondition sets the StreamNameCondition field's value.
  3687  func (s *ListStreamsInput) SetStreamNameCondition(v *StreamNameCondition) *ListStreamsInput {
  3688  	s.StreamNameCondition = v
  3689  	return s
  3690  }
  3691  
  3692  type ListStreamsOutput struct {
  3693  	_ struct{} `type:"structure"`
  3694  
  3695  	// If the response is truncated, the call returns this element with a token.
  3696  	// To get the next batch of streams, use this token in your next request.
  3697  	NextToken *string `type:"string"`
  3698  
  3699  	// An array of StreamInfo objects.
  3700  	StreamInfoList []*StreamInfo `type:"list"`
  3701  }
  3702  
  3703  // String returns the string representation.
  3704  //
  3705  // API parameter values that are decorated as "sensitive" in the API will not
  3706  // be included in the string output. The member name will be present, but the
  3707  // value will be replaced with "sensitive".
  3708  func (s ListStreamsOutput) String() string {
  3709  	return awsutil.Prettify(s)
  3710  }
  3711  
  3712  // GoString returns the string representation.
  3713  //
  3714  // API parameter values that are decorated as "sensitive" in the API will not
  3715  // be included in the string output. The member name will be present, but the
  3716  // value will be replaced with "sensitive".
  3717  func (s ListStreamsOutput) GoString() string {
  3718  	return s.String()
  3719  }
  3720  
  3721  // SetNextToken sets the NextToken field's value.
  3722  func (s *ListStreamsOutput) SetNextToken(v string) *ListStreamsOutput {
  3723  	s.NextToken = &v
  3724  	return s
  3725  }
  3726  
  3727  // SetStreamInfoList sets the StreamInfoList field's value.
  3728  func (s *ListStreamsOutput) SetStreamInfoList(v []*StreamInfo) *ListStreamsOutput {
  3729  	s.StreamInfoList = v
  3730  	return s
  3731  }
  3732  
  3733  type ListTagsForResourceInput struct {
  3734  	_ struct{} `type:"structure"`
  3735  
  3736  	// If you specify this parameter and the result of a ListTagsForResource call
  3737  	// is truncated, the response includes a token that you can use in the next
  3738  	// request to fetch the next batch of tags.
  3739  	NextToken *string `type:"string"`
  3740  
  3741  	// The Amazon Resource Name (ARN) of the signaling channel for which you want
  3742  	// to list tags.
  3743  	//
  3744  	// ResourceARN is a required field
  3745  	ResourceARN *string `min:"1" type:"string" required:"true"`
  3746  }
  3747  
  3748  // String returns the string representation.
  3749  //
  3750  // API parameter values that are decorated as "sensitive" in the API will not
  3751  // be included in the string output. The member name will be present, but the
  3752  // value will be replaced with "sensitive".
  3753  func (s ListTagsForResourceInput) String() string {
  3754  	return awsutil.Prettify(s)
  3755  }
  3756  
  3757  // GoString returns the string representation.
  3758  //
  3759  // API parameter values that are decorated as "sensitive" in the API will not
  3760  // be included in the string output. The member name will be present, but the
  3761  // value will be replaced with "sensitive".
  3762  func (s ListTagsForResourceInput) GoString() string {
  3763  	return s.String()
  3764  }
  3765  
  3766  // Validate inspects the fields of the type to determine if they are valid.
  3767  func (s *ListTagsForResourceInput) Validate() error {
  3768  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  3769  	if s.ResourceARN == nil {
  3770  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
  3771  	}
  3772  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
  3773  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
  3774  	}
  3775  
  3776  	if invalidParams.Len() > 0 {
  3777  		return invalidParams
  3778  	}
  3779  	return nil
  3780  }
  3781  
  3782  // SetNextToken sets the NextToken field's value.
  3783  func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
  3784  	s.NextToken = &v
  3785  	return s
  3786  }
  3787  
  3788  // SetResourceARN sets the ResourceARN field's value.
  3789  func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
  3790  	s.ResourceARN = &v
  3791  	return s
  3792  }
  3793  
  3794  type ListTagsForResourceOutput struct {
  3795  	_ struct{} `type:"structure"`
  3796  
  3797  	// If you specify this parameter and the result of a ListTagsForResource call
  3798  	// is truncated, the response includes a token that you can use in the next
  3799  	// request to fetch the next set of tags.
  3800  	NextToken *string `type:"string"`
  3801  
  3802  	// A map of tag keys and values associated with the specified signaling channel.
  3803  	Tags map[string]*string `min:"1" type:"map"`
  3804  }
  3805  
  3806  // String returns the string representation.
  3807  //
  3808  // API parameter values that are decorated as "sensitive" in the API will not
  3809  // be included in the string output. The member name will be present, but the
  3810  // value will be replaced with "sensitive".
  3811  func (s ListTagsForResourceOutput) String() string {
  3812  	return awsutil.Prettify(s)
  3813  }
  3814  
  3815  // GoString returns the string representation.
  3816  //
  3817  // API parameter values that are decorated as "sensitive" in the API will not
  3818  // be included in the string output. The member name will be present, but the
  3819  // value will be replaced with "sensitive".
  3820  func (s ListTagsForResourceOutput) GoString() string {
  3821  	return s.String()
  3822  }
  3823  
  3824  // SetNextToken sets the NextToken field's value.
  3825  func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
  3826  	s.NextToken = &v
  3827  	return s
  3828  }
  3829  
  3830  // SetTags sets the Tags field's value.
  3831  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  3832  	s.Tags = v
  3833  	return s
  3834  }
  3835  
  3836  type ListTagsForStreamInput struct {
  3837  	_ struct{} `type:"structure"`
  3838  
  3839  	// If you specify this parameter and the result of a ListTagsForStream call
  3840  	// is truncated, the response includes a token that you can use in the next
  3841  	// request to fetch the next batch of tags.
  3842  	NextToken *string `type:"string"`
  3843  
  3844  	// The Amazon Resource Name (ARN) of the stream that you want to list tags for.
  3845  	StreamARN *string `min:"1" type:"string"`
  3846  
  3847  	// The name of the stream that you want to list tags for.
  3848  	StreamName *string `min:"1" type:"string"`
  3849  }
  3850  
  3851  // String returns the string representation.
  3852  //
  3853  // API parameter values that are decorated as "sensitive" in the API will not
  3854  // be included in the string output. The member name will be present, but the
  3855  // value will be replaced with "sensitive".
  3856  func (s ListTagsForStreamInput) String() string {
  3857  	return awsutil.Prettify(s)
  3858  }
  3859  
  3860  // GoString returns the string representation.
  3861  //
  3862  // API parameter values that are decorated as "sensitive" in the API will not
  3863  // be included in the string output. The member name will be present, but the
  3864  // value will be replaced with "sensitive".
  3865  func (s ListTagsForStreamInput) GoString() string {
  3866  	return s.String()
  3867  }
  3868  
  3869  // Validate inspects the fields of the type to determine if they are valid.
  3870  func (s *ListTagsForStreamInput) Validate() error {
  3871  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForStreamInput"}
  3872  	if s.StreamARN != nil && len(*s.StreamARN) < 1 {
  3873  		invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1))
  3874  	}
  3875  	if s.StreamName != nil && len(*s.StreamName) < 1 {
  3876  		invalidParams.Add(request.NewErrParamMinLen("StreamName", 1))
  3877  	}
  3878  
  3879  	if invalidParams.Len() > 0 {
  3880  		return invalidParams
  3881  	}
  3882  	return nil
  3883  }
  3884  
  3885  // SetNextToken sets the NextToken field's value.
  3886  func (s *ListTagsForStreamInput) SetNextToken(v string) *ListTagsForStreamInput {
  3887  	s.NextToken = &v
  3888  	return s
  3889  }
  3890  
  3891  // SetStreamARN sets the StreamARN field's value.
  3892  func (s *ListTagsForStreamInput) SetStreamARN(v string) *ListTagsForStreamInput {
  3893  	s.StreamARN = &v
  3894  	return s
  3895  }
  3896  
  3897  // SetStreamName sets the StreamName field's value.
  3898  func (s *ListTagsForStreamInput) SetStreamName(v string) *ListTagsForStreamInput {
  3899  	s.StreamName = &v
  3900  	return s
  3901  }
  3902  
  3903  type ListTagsForStreamOutput struct {
  3904  	_ struct{} `type:"structure"`
  3905  
  3906  	// If you specify this parameter and the result of a ListTags call is truncated,
  3907  	// the response includes a token that you can use in the next request to fetch
  3908  	// the next set of tags.
  3909  	NextToken *string `type:"string"`
  3910  
  3911  	// A map of tag keys and values associated with the specified stream.
  3912  	Tags map[string]*string `min:"1" type:"map"`
  3913  }
  3914  
  3915  // String returns the string representation.
  3916  //
  3917  // API parameter values that are decorated as "sensitive" in the API will not
  3918  // be included in the string output. The member name will be present, but the
  3919  // value will be replaced with "sensitive".
  3920  func (s ListTagsForStreamOutput) String() string {
  3921  	return awsutil.Prettify(s)
  3922  }
  3923  
  3924  // GoString returns the string representation.
  3925  //
  3926  // API parameter values that are decorated as "sensitive" in the API will not
  3927  // be included in the string output. The member name will be present, but the
  3928  // value will be replaced with "sensitive".
  3929  func (s ListTagsForStreamOutput) GoString() string {
  3930  	return s.String()
  3931  }
  3932  
  3933  // SetNextToken sets the NextToken field's value.
  3934  func (s *ListTagsForStreamOutput) SetNextToken(v string) *ListTagsForStreamOutput {
  3935  	s.NextToken = &v
  3936  	return s
  3937  }
  3938  
  3939  // SetTags sets the Tags field's value.
  3940  func (s *ListTagsForStreamOutput) SetTags(v map[string]*string) *ListTagsForStreamOutput {
  3941  	s.Tags = v
  3942  	return s
  3943  }
  3944  
  3945  // The caller is not authorized to perform this operation.
  3946  type NotAuthorizedException struct {
  3947  	_            struct{}                  `type:"structure"`
  3948  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3949  
  3950  	Message_ *string `locationName:"Message" type:"string"`
  3951  }
  3952  
  3953  // String returns the string representation.
  3954  //
  3955  // API parameter values that are decorated as "sensitive" in the API will not
  3956  // be included in the string output. The member name will be present, but the
  3957  // value will be replaced with "sensitive".
  3958  func (s NotAuthorizedException) String() string {
  3959  	return awsutil.Prettify(s)
  3960  }
  3961  
  3962  // GoString returns the string representation.
  3963  //
  3964  // API parameter values that are decorated as "sensitive" in the API will not
  3965  // be included in the string output. The member name will be present, but the
  3966  // value will be replaced with "sensitive".
  3967  func (s NotAuthorizedException) GoString() string {
  3968  	return s.String()
  3969  }
  3970  
  3971  func newErrorNotAuthorizedException(v protocol.ResponseMetadata) error {
  3972  	return &NotAuthorizedException{
  3973  		RespMetadata: v,
  3974  	}
  3975  }
  3976  
  3977  // Code returns the exception type name.
  3978  func (s *NotAuthorizedException) Code() string {
  3979  	return "NotAuthorizedException"
  3980  }
  3981  
  3982  // Message returns the exception's message.
  3983  func (s *NotAuthorizedException) Message() string {
  3984  	if s.Message_ != nil {
  3985  		return *s.Message_
  3986  	}
  3987  	return ""
  3988  }
  3989  
  3990  // OrigErr always returns nil, satisfies awserr.Error interface.
  3991  func (s *NotAuthorizedException) OrigErr() error {
  3992  	return nil
  3993  }
  3994  
  3995  func (s *NotAuthorizedException) Error() string {
  3996  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3997  }
  3998  
  3999  // Status code returns the HTTP status code for the request's response error.
  4000  func (s *NotAuthorizedException) StatusCode() int {
  4001  	return s.RespMetadata.StatusCode
  4002  }
  4003  
  4004  // RequestID returns the service's response RequestID for request.
  4005  func (s *NotAuthorizedException) RequestID() string {
  4006  	return s.RespMetadata.RequestID
  4007  }
  4008  
  4009  // An object that describes the endpoint of the signaling channel returned by
  4010  // the GetSignalingChannelEndpoint API.
  4011  type ResourceEndpointListItem struct {
  4012  	_ struct{} `type:"structure"`
  4013  
  4014  	// The protocol of the signaling channel returned by the GetSignalingChannelEndpoint
  4015  	// API.
  4016  	Protocol *string `type:"string" enum:"ChannelProtocol"`
  4017  
  4018  	// The endpoint of the signaling channel returned by the GetSignalingChannelEndpoint
  4019  	// API.
  4020  	ResourceEndpoint *string `type:"string"`
  4021  }
  4022  
  4023  // String returns the string representation.
  4024  //
  4025  // API parameter values that are decorated as "sensitive" in the API will not
  4026  // be included in the string output. The member name will be present, but the
  4027  // value will be replaced with "sensitive".
  4028  func (s ResourceEndpointListItem) String() string {
  4029  	return awsutil.Prettify(s)
  4030  }
  4031  
  4032  // GoString returns the string representation.
  4033  //
  4034  // API parameter values that are decorated as "sensitive" in the API will not
  4035  // be included in the string output. The member name will be present, but the
  4036  // value will be replaced with "sensitive".
  4037  func (s ResourceEndpointListItem) GoString() string {
  4038  	return s.String()
  4039  }
  4040  
  4041  // SetProtocol sets the Protocol field's value.
  4042  func (s *ResourceEndpointListItem) SetProtocol(v string) *ResourceEndpointListItem {
  4043  	s.Protocol = &v
  4044  	return s
  4045  }
  4046  
  4047  // SetResourceEndpoint sets the ResourceEndpoint field's value.
  4048  func (s *ResourceEndpointListItem) SetResourceEndpoint(v string) *ResourceEndpointListItem {
  4049  	s.ResourceEndpoint = &v
  4050  	return s
  4051  }
  4052  
  4053  // The signaling channel is currently not available for this operation.
  4054  type ResourceInUseException struct {
  4055  	_            struct{}                  `type:"structure"`
  4056  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4057  
  4058  	Message_ *string `locationName:"Message" type:"string"`
  4059  }
  4060  
  4061  // String returns the string representation.
  4062  //
  4063  // API parameter values that are decorated as "sensitive" in the API will not
  4064  // be included in the string output. The member name will be present, but the
  4065  // value will be replaced with "sensitive".
  4066  func (s ResourceInUseException) String() string {
  4067  	return awsutil.Prettify(s)
  4068  }
  4069  
  4070  // GoString returns the string representation.
  4071  //
  4072  // API parameter values that are decorated as "sensitive" in the API will not
  4073  // be included in the string output. The member name will be present, but the
  4074  // value will be replaced with "sensitive".
  4075  func (s ResourceInUseException) GoString() string {
  4076  	return s.String()
  4077  }
  4078  
  4079  func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
  4080  	return &ResourceInUseException{
  4081  		RespMetadata: v,
  4082  	}
  4083  }
  4084  
  4085  // Code returns the exception type name.
  4086  func (s *ResourceInUseException) Code() string {
  4087  	return "ResourceInUseException"
  4088  }
  4089  
  4090  // Message returns the exception's message.
  4091  func (s *ResourceInUseException) Message() string {
  4092  	if s.Message_ != nil {
  4093  		return *s.Message_
  4094  	}
  4095  	return ""
  4096  }
  4097  
  4098  // OrigErr always returns nil, satisfies awserr.Error interface.
  4099  func (s *ResourceInUseException) OrigErr() error {
  4100  	return nil
  4101  }
  4102  
  4103  func (s *ResourceInUseException) Error() string {
  4104  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4105  }
  4106  
  4107  // Status code returns the HTTP status code for the request's response error.
  4108  func (s *ResourceInUseException) StatusCode() int {
  4109  	return s.RespMetadata.StatusCode
  4110  }
  4111  
  4112  // RequestID returns the service's response RequestID for request.
  4113  func (s *ResourceInUseException) RequestID() string {
  4114  	return s.RespMetadata.RequestID
  4115  }
  4116  
  4117  // Amazon Kinesis Video Streams can't find the stream that you specified.
  4118  type ResourceNotFoundException struct {
  4119  	_            struct{}                  `type:"structure"`
  4120  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4121  
  4122  	Message_ *string `locationName:"Message" type:"string"`
  4123  }
  4124  
  4125  // String returns the string representation.
  4126  //
  4127  // API parameter values that are decorated as "sensitive" in the API will not
  4128  // be included in the string output. The member name will be present, but the
  4129  // value will be replaced with "sensitive".
  4130  func (s ResourceNotFoundException) String() string {
  4131  	return awsutil.Prettify(s)
  4132  }
  4133  
  4134  // GoString returns the string representation.
  4135  //
  4136  // API parameter values that are decorated as "sensitive" in the API will not
  4137  // be included in the string output. The member name will be present, but the
  4138  // value will be replaced with "sensitive".
  4139  func (s ResourceNotFoundException) GoString() string {
  4140  	return s.String()
  4141  }
  4142  
  4143  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  4144  	return &ResourceNotFoundException{
  4145  		RespMetadata: v,
  4146  	}
  4147  }
  4148  
  4149  // Code returns the exception type name.
  4150  func (s *ResourceNotFoundException) Code() string {
  4151  	return "ResourceNotFoundException"
  4152  }
  4153  
  4154  // Message returns the exception's message.
  4155  func (s *ResourceNotFoundException) Message() string {
  4156  	if s.Message_ != nil {
  4157  		return *s.Message_
  4158  	}
  4159  	return ""
  4160  }
  4161  
  4162  // OrigErr always returns nil, satisfies awserr.Error interface.
  4163  func (s *ResourceNotFoundException) OrigErr() error {
  4164  	return nil
  4165  }
  4166  
  4167  func (s *ResourceNotFoundException) Error() string {
  4168  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4169  }
  4170  
  4171  // Status code returns the HTTP status code for the request's response error.
  4172  func (s *ResourceNotFoundException) StatusCode() int {
  4173  	return s.RespMetadata.StatusCode
  4174  }
  4175  
  4176  // RequestID returns the service's response RequestID for request.
  4177  func (s *ResourceNotFoundException) RequestID() string {
  4178  	return s.RespMetadata.RequestID
  4179  }
  4180  
  4181  // An object that contains the endpoint configuration for the SINGLE_MASTER
  4182  // channel type.
  4183  type SingleMasterChannelEndpointConfiguration struct {
  4184  	_ struct{} `type:"structure"`
  4185  
  4186  	// This property is used to determine the nature of communication over this
  4187  	// SINGLE_MASTER signaling channel. If WSS is specified, this API returns a
  4188  	// websocket endpoint. If HTTPS is specified, this API returns an HTTPS endpoint.
  4189  	Protocols []*string `min:"1" type:"list"`
  4190  
  4191  	// This property is used to determine messaging permissions in this SINGLE_MASTER
  4192  	// signaling channel. If MASTER is specified, this API returns an endpoint that
  4193  	// a client can use to receive offers from and send answers to any of the viewers
  4194  	// on this signaling channel. If VIEWER is specified, this API returns an endpoint
  4195  	// that a client can use only to send offers to another MASTER client on this
  4196  	// signaling channel.
  4197  	Role *string `type:"string" enum:"ChannelRole"`
  4198  }
  4199  
  4200  // String returns the string representation.
  4201  //
  4202  // API parameter values that are decorated as "sensitive" in the API will not
  4203  // be included in the string output. The member name will be present, but the
  4204  // value will be replaced with "sensitive".
  4205  func (s SingleMasterChannelEndpointConfiguration) String() string {
  4206  	return awsutil.Prettify(s)
  4207  }
  4208  
  4209  // GoString 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 SingleMasterChannelEndpointConfiguration) GoString() string {
  4215  	return s.String()
  4216  }
  4217  
  4218  // Validate inspects the fields of the type to determine if they are valid.
  4219  func (s *SingleMasterChannelEndpointConfiguration) Validate() error {
  4220  	invalidParams := request.ErrInvalidParams{Context: "SingleMasterChannelEndpointConfiguration"}
  4221  	if s.Protocols != nil && len(s.Protocols) < 1 {
  4222  		invalidParams.Add(request.NewErrParamMinLen("Protocols", 1))
  4223  	}
  4224  
  4225  	if invalidParams.Len() > 0 {
  4226  		return invalidParams
  4227  	}
  4228  	return nil
  4229  }
  4230  
  4231  // SetProtocols sets the Protocols field's value.
  4232  func (s *SingleMasterChannelEndpointConfiguration) SetProtocols(v []*string) *SingleMasterChannelEndpointConfiguration {
  4233  	s.Protocols = v
  4234  	return s
  4235  }
  4236  
  4237  // SetRole sets the Role field's value.
  4238  func (s *SingleMasterChannelEndpointConfiguration) SetRole(v string) *SingleMasterChannelEndpointConfiguration {
  4239  	s.Role = &v
  4240  	return s
  4241  }
  4242  
  4243  // A structure that contains the configuration for the SINGLE_MASTER channel
  4244  // type.
  4245  type SingleMasterConfiguration struct {
  4246  	_ struct{} `type:"structure"`
  4247  
  4248  	// The period of time a signaling channel retains underlivered messages before
  4249  	// they are discarded.
  4250  	MessageTtlSeconds *int64 `min:"5" type:"integer"`
  4251  }
  4252  
  4253  // String returns the string representation.
  4254  //
  4255  // API parameter values that are decorated as "sensitive" in the API will not
  4256  // be included in the string output. The member name will be present, but the
  4257  // value will be replaced with "sensitive".
  4258  func (s SingleMasterConfiguration) String() string {
  4259  	return awsutil.Prettify(s)
  4260  }
  4261  
  4262  // GoString returns the string representation.
  4263  //
  4264  // API parameter values that are decorated as "sensitive" in the API will not
  4265  // be included in the string output. The member name will be present, but the
  4266  // value will be replaced with "sensitive".
  4267  func (s SingleMasterConfiguration) GoString() string {
  4268  	return s.String()
  4269  }
  4270  
  4271  // Validate inspects the fields of the type to determine if they are valid.
  4272  func (s *SingleMasterConfiguration) Validate() error {
  4273  	invalidParams := request.ErrInvalidParams{Context: "SingleMasterConfiguration"}
  4274  	if s.MessageTtlSeconds != nil && *s.MessageTtlSeconds < 5 {
  4275  		invalidParams.Add(request.NewErrParamMinValue("MessageTtlSeconds", 5))
  4276  	}
  4277  
  4278  	if invalidParams.Len() > 0 {
  4279  		return invalidParams
  4280  	}
  4281  	return nil
  4282  }
  4283  
  4284  // SetMessageTtlSeconds sets the MessageTtlSeconds field's value.
  4285  func (s *SingleMasterConfiguration) SetMessageTtlSeconds(v int64) *SingleMasterConfiguration {
  4286  	s.MessageTtlSeconds = &v
  4287  	return s
  4288  }
  4289  
  4290  // An object describing a Kinesis video stream.
  4291  type StreamInfo struct {
  4292  	_ struct{} `type:"structure"`
  4293  
  4294  	// A time stamp that indicates when the stream was created.
  4295  	CreationTime *time.Time `type:"timestamp"`
  4296  
  4297  	// How long the stream retains data, in hours.
  4298  	DataRetentionInHours *int64 `type:"integer"`
  4299  
  4300  	// The name of the device that is associated with the stream.
  4301  	DeviceName *string `min:"1" type:"string"`
  4302  
  4303  	// The ID of the AWS Key Management Service (AWS KMS) key that Kinesis Video
  4304  	// Streams uses to encrypt data on the stream.
  4305  	KmsKeyId *string `min:"1" type:"string"`
  4306  
  4307  	// The MediaType of the stream.
  4308  	MediaType *string `min:"1" type:"string"`
  4309  
  4310  	// The status of the stream.
  4311  	Status *string `type:"string" enum:"Status"`
  4312  
  4313  	// The Amazon Resource Name (ARN) of the stream.
  4314  	StreamARN *string `min:"1" type:"string"`
  4315  
  4316  	// The name of the stream.
  4317  	StreamName *string `min:"1" type:"string"`
  4318  
  4319  	// The version of the stream.
  4320  	Version *string `min:"1" type:"string"`
  4321  }
  4322  
  4323  // String returns the string representation.
  4324  //
  4325  // API parameter values that are decorated as "sensitive" in the API will not
  4326  // be included in the string output. The member name will be present, but the
  4327  // value will be replaced with "sensitive".
  4328  func (s StreamInfo) String() string {
  4329  	return awsutil.Prettify(s)
  4330  }
  4331  
  4332  // GoString returns the string representation.
  4333  //
  4334  // API parameter values that are decorated as "sensitive" in the API will not
  4335  // be included in the string output. The member name will be present, but the
  4336  // value will be replaced with "sensitive".
  4337  func (s StreamInfo) GoString() string {
  4338  	return s.String()
  4339  }
  4340  
  4341  // SetCreationTime sets the CreationTime field's value.
  4342  func (s *StreamInfo) SetCreationTime(v time.Time) *StreamInfo {
  4343  	s.CreationTime = &v
  4344  	return s
  4345  }
  4346  
  4347  // SetDataRetentionInHours sets the DataRetentionInHours field's value.
  4348  func (s *StreamInfo) SetDataRetentionInHours(v int64) *StreamInfo {
  4349  	s.DataRetentionInHours = &v
  4350  	return s
  4351  }
  4352  
  4353  // SetDeviceName sets the DeviceName field's value.
  4354  func (s *StreamInfo) SetDeviceName(v string) *StreamInfo {
  4355  	s.DeviceName = &v
  4356  	return s
  4357  }
  4358  
  4359  // SetKmsKeyId sets the KmsKeyId field's value.
  4360  func (s *StreamInfo) SetKmsKeyId(v string) *StreamInfo {
  4361  	s.KmsKeyId = &v
  4362  	return s
  4363  }
  4364  
  4365  // SetMediaType sets the MediaType field's value.
  4366  func (s *StreamInfo) SetMediaType(v string) *StreamInfo {
  4367  	s.MediaType = &v
  4368  	return s
  4369  }
  4370  
  4371  // SetStatus sets the Status field's value.
  4372  func (s *StreamInfo) SetStatus(v string) *StreamInfo {
  4373  	s.Status = &v
  4374  	return s
  4375  }
  4376  
  4377  // SetStreamARN sets the StreamARN field's value.
  4378  func (s *StreamInfo) SetStreamARN(v string) *StreamInfo {
  4379  	s.StreamARN = &v
  4380  	return s
  4381  }
  4382  
  4383  // SetStreamName sets the StreamName field's value.
  4384  func (s *StreamInfo) SetStreamName(v string) *StreamInfo {
  4385  	s.StreamName = &v
  4386  	return s
  4387  }
  4388  
  4389  // SetVersion sets the Version field's value.
  4390  func (s *StreamInfo) SetVersion(v string) *StreamInfo {
  4391  	s.Version = &v
  4392  	return s
  4393  }
  4394  
  4395  // Specifies the condition that streams must satisfy to be returned when you
  4396  // list streams (see the ListStreams API). A condition has a comparison operation
  4397  // and a value. Currently, you can specify only the BEGINS_WITH operator, which
  4398  // finds streams whose names start with a given prefix.
  4399  type StreamNameCondition struct {
  4400  	_ struct{} `type:"structure"`
  4401  
  4402  	// A comparison operator. Currently, you can specify only the BEGINS_WITH operator,
  4403  	// which finds streams whose names start with a given prefix.
  4404  	ComparisonOperator *string `type:"string" enum:"ComparisonOperator"`
  4405  
  4406  	// A value to compare.
  4407  	ComparisonValue *string `min:"1" type:"string"`
  4408  }
  4409  
  4410  // String returns the string representation.
  4411  //
  4412  // API parameter values that are decorated as "sensitive" in the API will not
  4413  // be included in the string output. The member name will be present, but the
  4414  // value will be replaced with "sensitive".
  4415  func (s StreamNameCondition) String() string {
  4416  	return awsutil.Prettify(s)
  4417  }
  4418  
  4419  // GoString returns the string representation.
  4420  //
  4421  // API parameter values that are decorated as "sensitive" in the API will not
  4422  // be included in the string output. The member name will be present, but the
  4423  // value will be replaced with "sensitive".
  4424  func (s StreamNameCondition) GoString() string {
  4425  	return s.String()
  4426  }
  4427  
  4428  // Validate inspects the fields of the type to determine if they are valid.
  4429  func (s *StreamNameCondition) Validate() error {
  4430  	invalidParams := request.ErrInvalidParams{Context: "StreamNameCondition"}
  4431  	if s.ComparisonValue != nil && len(*s.ComparisonValue) < 1 {
  4432  		invalidParams.Add(request.NewErrParamMinLen("ComparisonValue", 1))
  4433  	}
  4434  
  4435  	if invalidParams.Len() > 0 {
  4436  		return invalidParams
  4437  	}
  4438  	return nil
  4439  }
  4440  
  4441  // SetComparisonOperator sets the ComparisonOperator field's value.
  4442  func (s *StreamNameCondition) SetComparisonOperator(v string) *StreamNameCondition {
  4443  	s.ComparisonOperator = &v
  4444  	return s
  4445  }
  4446  
  4447  // SetComparisonValue sets the ComparisonValue field's value.
  4448  func (s *StreamNameCondition) SetComparisonValue(v string) *StreamNameCondition {
  4449  	s.ComparisonValue = &v
  4450  	return s
  4451  }
  4452  
  4453  // A key and value pair that is associated with the specified signaling channel.
  4454  type Tag struct {
  4455  	_ struct{} `type:"structure"`
  4456  
  4457  	// The key of the tag that is associated with the specified signaling channel.
  4458  	//
  4459  	// Key is a required field
  4460  	Key *string `min:"1" type:"string" required:"true"`
  4461  
  4462  	// The value of the tag that is associated with the specified signaling channel.
  4463  	//
  4464  	// Value is a required field
  4465  	Value *string `type:"string" required:"true"`
  4466  }
  4467  
  4468  // String returns the string representation.
  4469  //
  4470  // API parameter values that are decorated as "sensitive" in the API will not
  4471  // be included in the string output. The member name will be present, but the
  4472  // value will be replaced with "sensitive".
  4473  func (s Tag) String() string {
  4474  	return awsutil.Prettify(s)
  4475  }
  4476  
  4477  // GoString returns the string representation.
  4478  //
  4479  // API parameter values that are decorated as "sensitive" in the API will not
  4480  // be included in the string output. The member name will be present, but the
  4481  // value will be replaced with "sensitive".
  4482  func (s Tag) GoString() string {
  4483  	return s.String()
  4484  }
  4485  
  4486  // Validate inspects the fields of the type to determine if they are valid.
  4487  func (s *Tag) Validate() error {
  4488  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
  4489  	if s.Key == nil {
  4490  		invalidParams.Add(request.NewErrParamRequired("Key"))
  4491  	}
  4492  	if s.Key != nil && len(*s.Key) < 1 {
  4493  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  4494  	}
  4495  	if s.Value == nil {
  4496  		invalidParams.Add(request.NewErrParamRequired("Value"))
  4497  	}
  4498  
  4499  	if invalidParams.Len() > 0 {
  4500  		return invalidParams
  4501  	}
  4502  	return nil
  4503  }
  4504  
  4505  // SetKey sets the Key field's value.
  4506  func (s *Tag) SetKey(v string) *Tag {
  4507  	s.Key = &v
  4508  	return s
  4509  }
  4510  
  4511  // SetValue sets the Value field's value.
  4512  func (s *Tag) SetValue(v string) *Tag {
  4513  	s.Value = &v
  4514  	return s
  4515  }
  4516  
  4517  type TagResourceInput struct {
  4518  	_ struct{} `type:"structure"`
  4519  
  4520  	// The Amazon Resource Name (ARN) of the signaling channel to which you want
  4521  	// to add tags.
  4522  	//
  4523  	// ResourceARN is a required field
  4524  	ResourceARN *string `min:"1" type:"string" required:"true"`
  4525  
  4526  	// A list of tags to associate with the specified signaling channel. Each tag
  4527  	// is a key-value pair.
  4528  	//
  4529  	// Tags is a required field
  4530  	Tags []*Tag `min:"1" type:"list" required:"true"`
  4531  }
  4532  
  4533  // String returns the string representation.
  4534  //
  4535  // API parameter values that are decorated as "sensitive" in the API will not
  4536  // be included in the string output. The member name will be present, but the
  4537  // value will be replaced with "sensitive".
  4538  func (s TagResourceInput) String() string {
  4539  	return awsutil.Prettify(s)
  4540  }
  4541  
  4542  // GoString returns the string representation.
  4543  //
  4544  // API parameter values that are decorated as "sensitive" in the API will not
  4545  // be included in the string output. The member name will be present, but the
  4546  // value will be replaced with "sensitive".
  4547  func (s TagResourceInput) GoString() string {
  4548  	return s.String()
  4549  }
  4550  
  4551  // Validate inspects the fields of the type to determine if they are valid.
  4552  func (s *TagResourceInput) Validate() error {
  4553  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  4554  	if s.ResourceARN == nil {
  4555  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
  4556  	}
  4557  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
  4558  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
  4559  	}
  4560  	if s.Tags == nil {
  4561  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  4562  	}
  4563  	if s.Tags != nil && len(s.Tags) < 1 {
  4564  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4565  	}
  4566  	if s.Tags != nil {
  4567  		for i, v := range s.Tags {
  4568  			if v == nil {
  4569  				continue
  4570  			}
  4571  			if err := v.Validate(); err != nil {
  4572  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4573  			}
  4574  		}
  4575  	}
  4576  
  4577  	if invalidParams.Len() > 0 {
  4578  		return invalidParams
  4579  	}
  4580  	return nil
  4581  }
  4582  
  4583  // SetResourceARN sets the ResourceARN field's value.
  4584  func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
  4585  	s.ResourceARN = &v
  4586  	return s
  4587  }
  4588  
  4589  // SetTags sets the Tags field's value.
  4590  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
  4591  	s.Tags = v
  4592  	return s
  4593  }
  4594  
  4595  type TagResourceOutput struct {
  4596  	_ struct{} `type:"structure" nopayload:"true"`
  4597  }
  4598  
  4599  // String returns the string representation.
  4600  //
  4601  // API parameter values that are decorated as "sensitive" in the API will not
  4602  // be included in the string output. The member name will be present, but the
  4603  // value will be replaced with "sensitive".
  4604  func (s TagResourceOutput) String() string {
  4605  	return awsutil.Prettify(s)
  4606  }
  4607  
  4608  // GoString 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 TagResourceOutput) GoString() string {
  4614  	return s.String()
  4615  }
  4616  
  4617  type TagStreamInput struct {
  4618  	_ struct{} `type:"structure"`
  4619  
  4620  	// The Amazon Resource Name (ARN) of the resource that you want to add the tag
  4621  	// or tags to.
  4622  	StreamARN *string `min:"1" type:"string"`
  4623  
  4624  	// The name of the stream that you want to add the tag or tags to.
  4625  	StreamName *string `min:"1" type:"string"`
  4626  
  4627  	// A list of tags to associate with the specified stream. Each tag is a key-value
  4628  	// pair (the value is optional).
  4629  	//
  4630  	// Tags is a required field
  4631  	Tags map[string]*string `min:"1" type:"map" required:"true"`
  4632  }
  4633  
  4634  // String returns the string representation.
  4635  //
  4636  // API parameter values that are decorated as "sensitive" in the API will not
  4637  // be included in the string output. The member name will be present, but the
  4638  // value will be replaced with "sensitive".
  4639  func (s TagStreamInput) String() string {
  4640  	return awsutil.Prettify(s)
  4641  }
  4642  
  4643  // GoString returns the string representation.
  4644  //
  4645  // API parameter values that are decorated as "sensitive" in the API will not
  4646  // be included in the string output. The member name will be present, but the
  4647  // value will be replaced with "sensitive".
  4648  func (s TagStreamInput) GoString() string {
  4649  	return s.String()
  4650  }
  4651  
  4652  // Validate inspects the fields of the type to determine if they are valid.
  4653  func (s *TagStreamInput) Validate() error {
  4654  	invalidParams := request.ErrInvalidParams{Context: "TagStreamInput"}
  4655  	if s.StreamARN != nil && len(*s.StreamARN) < 1 {
  4656  		invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1))
  4657  	}
  4658  	if s.StreamName != nil && len(*s.StreamName) < 1 {
  4659  		invalidParams.Add(request.NewErrParamMinLen("StreamName", 1))
  4660  	}
  4661  	if s.Tags == nil {
  4662  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  4663  	}
  4664  	if s.Tags != nil && len(s.Tags) < 1 {
  4665  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  4666  	}
  4667  
  4668  	if invalidParams.Len() > 0 {
  4669  		return invalidParams
  4670  	}
  4671  	return nil
  4672  }
  4673  
  4674  // SetStreamARN sets the StreamARN field's value.
  4675  func (s *TagStreamInput) SetStreamARN(v string) *TagStreamInput {
  4676  	s.StreamARN = &v
  4677  	return s
  4678  }
  4679  
  4680  // SetStreamName sets the StreamName field's value.
  4681  func (s *TagStreamInput) SetStreamName(v string) *TagStreamInput {
  4682  	s.StreamName = &v
  4683  	return s
  4684  }
  4685  
  4686  // SetTags sets the Tags field's value.
  4687  func (s *TagStreamInput) SetTags(v map[string]*string) *TagStreamInput {
  4688  	s.Tags = v
  4689  	return s
  4690  }
  4691  
  4692  type TagStreamOutput struct {
  4693  	_ struct{} `type:"structure" nopayload:"true"`
  4694  }
  4695  
  4696  // String returns the string representation.
  4697  //
  4698  // API parameter values that are decorated as "sensitive" in the API will not
  4699  // be included in the string output. The member name will be present, but the
  4700  // value will be replaced with "sensitive".
  4701  func (s TagStreamOutput) String() string {
  4702  	return awsutil.Prettify(s)
  4703  }
  4704  
  4705  // GoString 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 TagStreamOutput) GoString() string {
  4711  	return s.String()
  4712  }
  4713  
  4714  // You have exceeded the limit of tags that you can associate with the resource.
  4715  // Kinesis video streams support up to 50 tags.
  4716  type TagsPerResourceExceededLimitException struct {
  4717  	_            struct{}                  `type:"structure"`
  4718  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4719  
  4720  	Message_ *string `locationName:"Message" type:"string"`
  4721  }
  4722  
  4723  // String returns the string representation.
  4724  //
  4725  // API parameter values that are decorated as "sensitive" in the API will not
  4726  // be included in the string output. The member name will be present, but the
  4727  // value will be replaced with "sensitive".
  4728  func (s TagsPerResourceExceededLimitException) String() string {
  4729  	return awsutil.Prettify(s)
  4730  }
  4731  
  4732  // GoString returns the string representation.
  4733  //
  4734  // API parameter values that are decorated as "sensitive" in the API will not
  4735  // be included in the string output. The member name will be present, but the
  4736  // value will be replaced with "sensitive".
  4737  func (s TagsPerResourceExceededLimitException) GoString() string {
  4738  	return s.String()
  4739  }
  4740  
  4741  func newErrorTagsPerResourceExceededLimitException(v protocol.ResponseMetadata) error {
  4742  	return &TagsPerResourceExceededLimitException{
  4743  		RespMetadata: v,
  4744  	}
  4745  }
  4746  
  4747  // Code returns the exception type name.
  4748  func (s *TagsPerResourceExceededLimitException) Code() string {
  4749  	return "TagsPerResourceExceededLimitException"
  4750  }
  4751  
  4752  // Message returns the exception's message.
  4753  func (s *TagsPerResourceExceededLimitException) Message() string {
  4754  	if s.Message_ != nil {
  4755  		return *s.Message_
  4756  	}
  4757  	return ""
  4758  }
  4759  
  4760  // OrigErr always returns nil, satisfies awserr.Error interface.
  4761  func (s *TagsPerResourceExceededLimitException) OrigErr() error {
  4762  	return nil
  4763  }
  4764  
  4765  func (s *TagsPerResourceExceededLimitException) Error() string {
  4766  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4767  }
  4768  
  4769  // Status code returns the HTTP status code for the request's response error.
  4770  func (s *TagsPerResourceExceededLimitException) StatusCode() int {
  4771  	return s.RespMetadata.StatusCode
  4772  }
  4773  
  4774  // RequestID returns the service's response RequestID for request.
  4775  func (s *TagsPerResourceExceededLimitException) RequestID() string {
  4776  	return s.RespMetadata.RequestID
  4777  }
  4778  
  4779  type UntagResourceInput struct {
  4780  	_ struct{} `type:"structure"`
  4781  
  4782  	// The Amazon Resource Name (ARN) of the signaling channel from which you want
  4783  	// to remove tags.
  4784  	//
  4785  	// ResourceARN is a required field
  4786  	ResourceARN *string `min:"1" type:"string" required:"true"`
  4787  
  4788  	// A list of the keys of the tags that you want to remove.
  4789  	//
  4790  	// TagKeyList is a required field
  4791  	TagKeyList []*string `min:"1" type:"list" required:"true"`
  4792  }
  4793  
  4794  // String returns the string representation.
  4795  //
  4796  // API parameter values that are decorated as "sensitive" in the API will not
  4797  // be included in the string output. The member name will be present, but the
  4798  // value will be replaced with "sensitive".
  4799  func (s UntagResourceInput) String() string {
  4800  	return awsutil.Prettify(s)
  4801  }
  4802  
  4803  // GoString returns the string representation.
  4804  //
  4805  // API parameter values that are decorated as "sensitive" in the API will not
  4806  // be included in the string output. The member name will be present, but the
  4807  // value will be replaced with "sensitive".
  4808  func (s UntagResourceInput) GoString() string {
  4809  	return s.String()
  4810  }
  4811  
  4812  // Validate inspects the fields of the type to determine if they are valid.
  4813  func (s *UntagResourceInput) Validate() error {
  4814  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  4815  	if s.ResourceARN == nil {
  4816  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
  4817  	}
  4818  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
  4819  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
  4820  	}
  4821  	if s.TagKeyList == nil {
  4822  		invalidParams.Add(request.NewErrParamRequired("TagKeyList"))
  4823  	}
  4824  	if s.TagKeyList != nil && len(s.TagKeyList) < 1 {
  4825  		invalidParams.Add(request.NewErrParamMinLen("TagKeyList", 1))
  4826  	}
  4827  
  4828  	if invalidParams.Len() > 0 {
  4829  		return invalidParams
  4830  	}
  4831  	return nil
  4832  }
  4833  
  4834  // SetResourceARN sets the ResourceARN field's value.
  4835  func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
  4836  	s.ResourceARN = &v
  4837  	return s
  4838  }
  4839  
  4840  // SetTagKeyList sets the TagKeyList field's value.
  4841  func (s *UntagResourceInput) SetTagKeyList(v []*string) *UntagResourceInput {
  4842  	s.TagKeyList = v
  4843  	return s
  4844  }
  4845  
  4846  type UntagResourceOutput struct {
  4847  	_ struct{} `type:"structure" nopayload:"true"`
  4848  }
  4849  
  4850  // String returns the string representation.
  4851  //
  4852  // API parameter values that are decorated as "sensitive" in the API will not
  4853  // be included in the string output. The member name will be present, but the
  4854  // value will be replaced with "sensitive".
  4855  func (s UntagResourceOutput) String() string {
  4856  	return awsutil.Prettify(s)
  4857  }
  4858  
  4859  // GoString returns the string representation.
  4860  //
  4861  // API parameter values that are decorated as "sensitive" in the API will not
  4862  // be included in the string output. The member name will be present, but the
  4863  // value will be replaced with "sensitive".
  4864  func (s UntagResourceOutput) GoString() string {
  4865  	return s.String()
  4866  }
  4867  
  4868  type UntagStreamInput struct {
  4869  	_ struct{} `type:"structure"`
  4870  
  4871  	// The Amazon Resource Name (ARN) of the stream that you want to remove tags
  4872  	// from.
  4873  	StreamARN *string `min:"1" type:"string"`
  4874  
  4875  	// The name of the stream that you want to remove tags from.
  4876  	StreamName *string `min:"1" type:"string"`
  4877  
  4878  	// A list of the keys of the tags that you want to remove.
  4879  	//
  4880  	// TagKeyList is a required field
  4881  	TagKeyList []*string `min:"1" type:"list" required:"true"`
  4882  }
  4883  
  4884  // String returns the string representation.
  4885  //
  4886  // API parameter values that are decorated as "sensitive" in the API will not
  4887  // be included in the string output. The member name will be present, but the
  4888  // value will be replaced with "sensitive".
  4889  func (s UntagStreamInput) String() string {
  4890  	return awsutil.Prettify(s)
  4891  }
  4892  
  4893  // GoString returns the string representation.
  4894  //
  4895  // API parameter values that are decorated as "sensitive" in the API will not
  4896  // be included in the string output. The member name will be present, but the
  4897  // value will be replaced with "sensitive".
  4898  func (s UntagStreamInput) GoString() string {
  4899  	return s.String()
  4900  }
  4901  
  4902  // Validate inspects the fields of the type to determine if they are valid.
  4903  func (s *UntagStreamInput) Validate() error {
  4904  	invalidParams := request.ErrInvalidParams{Context: "UntagStreamInput"}
  4905  	if s.StreamARN != nil && len(*s.StreamARN) < 1 {
  4906  		invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1))
  4907  	}
  4908  	if s.StreamName != nil && len(*s.StreamName) < 1 {
  4909  		invalidParams.Add(request.NewErrParamMinLen("StreamName", 1))
  4910  	}
  4911  	if s.TagKeyList == nil {
  4912  		invalidParams.Add(request.NewErrParamRequired("TagKeyList"))
  4913  	}
  4914  	if s.TagKeyList != nil && len(s.TagKeyList) < 1 {
  4915  		invalidParams.Add(request.NewErrParamMinLen("TagKeyList", 1))
  4916  	}
  4917  
  4918  	if invalidParams.Len() > 0 {
  4919  		return invalidParams
  4920  	}
  4921  	return nil
  4922  }
  4923  
  4924  // SetStreamARN sets the StreamARN field's value.
  4925  func (s *UntagStreamInput) SetStreamARN(v string) *UntagStreamInput {
  4926  	s.StreamARN = &v
  4927  	return s
  4928  }
  4929  
  4930  // SetStreamName sets the StreamName field's value.
  4931  func (s *UntagStreamInput) SetStreamName(v string) *UntagStreamInput {
  4932  	s.StreamName = &v
  4933  	return s
  4934  }
  4935  
  4936  // SetTagKeyList sets the TagKeyList field's value.
  4937  func (s *UntagStreamInput) SetTagKeyList(v []*string) *UntagStreamInput {
  4938  	s.TagKeyList = v
  4939  	return s
  4940  }
  4941  
  4942  type UntagStreamOutput struct {
  4943  	_ struct{} `type:"structure" nopayload:"true"`
  4944  }
  4945  
  4946  // String returns the string representation.
  4947  //
  4948  // API parameter values that are decorated as "sensitive" in the API will not
  4949  // be included in the string output. The member name will be present, but the
  4950  // value will be replaced with "sensitive".
  4951  func (s UntagStreamOutput) String() string {
  4952  	return awsutil.Prettify(s)
  4953  }
  4954  
  4955  // GoString returns the string representation.
  4956  //
  4957  // API parameter values that are decorated as "sensitive" in the API will not
  4958  // be included in the string output. The member name will be present, but the
  4959  // value will be replaced with "sensitive".
  4960  func (s UntagStreamOutput) GoString() string {
  4961  	return s.String()
  4962  }
  4963  
  4964  type UpdateDataRetentionInput struct {
  4965  	_ struct{} `type:"structure"`
  4966  
  4967  	// The version of the stream whose retention period you want to change. To get
  4968  	// the version, call either the DescribeStream or the ListStreams API.
  4969  	//
  4970  	// CurrentVersion is a required field
  4971  	CurrentVersion *string `min:"1" type:"string" required:"true"`
  4972  
  4973  	// The retention period, in hours. The value you specify replaces the current
  4974  	// value. The maximum value for this parameter is 87600 (ten years).
  4975  	//
  4976  	// DataRetentionChangeInHours is a required field
  4977  	DataRetentionChangeInHours *int64 `min:"1" type:"integer" required:"true"`
  4978  
  4979  	// Indicates whether you want to increase or decrease the retention period.
  4980  	//
  4981  	// Operation is a required field
  4982  	Operation *string `type:"string" required:"true" enum:"UpdateDataRetentionOperation"`
  4983  
  4984  	// The Amazon Resource Name (ARN) of the stream whose retention period you want
  4985  	// to change.
  4986  	StreamARN *string `min:"1" type:"string"`
  4987  
  4988  	// The name of the stream whose retention period you want to change.
  4989  	StreamName *string `min:"1" type:"string"`
  4990  }
  4991  
  4992  // String returns the string representation.
  4993  //
  4994  // API parameter values that are decorated as "sensitive" in the API will not
  4995  // be included in the string output. The member name will be present, but the
  4996  // value will be replaced with "sensitive".
  4997  func (s UpdateDataRetentionInput) String() string {
  4998  	return awsutil.Prettify(s)
  4999  }
  5000  
  5001  // GoString returns the string representation.
  5002  //
  5003  // API parameter values that are decorated as "sensitive" in the API will not
  5004  // be included in the string output. The member name will be present, but the
  5005  // value will be replaced with "sensitive".
  5006  func (s UpdateDataRetentionInput) GoString() string {
  5007  	return s.String()
  5008  }
  5009  
  5010  // Validate inspects the fields of the type to determine if they are valid.
  5011  func (s *UpdateDataRetentionInput) Validate() error {
  5012  	invalidParams := request.ErrInvalidParams{Context: "UpdateDataRetentionInput"}
  5013  	if s.CurrentVersion == nil {
  5014  		invalidParams.Add(request.NewErrParamRequired("CurrentVersion"))
  5015  	}
  5016  	if s.CurrentVersion != nil && len(*s.CurrentVersion) < 1 {
  5017  		invalidParams.Add(request.NewErrParamMinLen("CurrentVersion", 1))
  5018  	}
  5019  	if s.DataRetentionChangeInHours == nil {
  5020  		invalidParams.Add(request.NewErrParamRequired("DataRetentionChangeInHours"))
  5021  	}
  5022  	if s.DataRetentionChangeInHours != nil && *s.DataRetentionChangeInHours < 1 {
  5023  		invalidParams.Add(request.NewErrParamMinValue("DataRetentionChangeInHours", 1))
  5024  	}
  5025  	if s.Operation == nil {
  5026  		invalidParams.Add(request.NewErrParamRequired("Operation"))
  5027  	}
  5028  	if s.StreamARN != nil && len(*s.StreamARN) < 1 {
  5029  		invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1))
  5030  	}
  5031  	if s.StreamName != nil && len(*s.StreamName) < 1 {
  5032  		invalidParams.Add(request.NewErrParamMinLen("StreamName", 1))
  5033  	}
  5034  
  5035  	if invalidParams.Len() > 0 {
  5036  		return invalidParams
  5037  	}
  5038  	return nil
  5039  }
  5040  
  5041  // SetCurrentVersion sets the CurrentVersion field's value.
  5042  func (s *UpdateDataRetentionInput) SetCurrentVersion(v string) *UpdateDataRetentionInput {
  5043  	s.CurrentVersion = &v
  5044  	return s
  5045  }
  5046  
  5047  // SetDataRetentionChangeInHours sets the DataRetentionChangeInHours field's value.
  5048  func (s *UpdateDataRetentionInput) SetDataRetentionChangeInHours(v int64) *UpdateDataRetentionInput {
  5049  	s.DataRetentionChangeInHours = &v
  5050  	return s
  5051  }
  5052  
  5053  // SetOperation sets the Operation field's value.
  5054  func (s *UpdateDataRetentionInput) SetOperation(v string) *UpdateDataRetentionInput {
  5055  	s.Operation = &v
  5056  	return s
  5057  }
  5058  
  5059  // SetStreamARN sets the StreamARN field's value.
  5060  func (s *UpdateDataRetentionInput) SetStreamARN(v string) *UpdateDataRetentionInput {
  5061  	s.StreamARN = &v
  5062  	return s
  5063  }
  5064  
  5065  // SetStreamName sets the StreamName field's value.
  5066  func (s *UpdateDataRetentionInput) SetStreamName(v string) *UpdateDataRetentionInput {
  5067  	s.StreamName = &v
  5068  	return s
  5069  }
  5070  
  5071  type UpdateDataRetentionOutput struct {
  5072  	_ struct{} `type:"structure" nopayload:"true"`
  5073  }
  5074  
  5075  // String returns the string representation.
  5076  //
  5077  // API parameter values that are decorated as "sensitive" in the API will not
  5078  // be included in the string output. The member name will be present, but the
  5079  // value will be replaced with "sensitive".
  5080  func (s UpdateDataRetentionOutput) String() string {
  5081  	return awsutil.Prettify(s)
  5082  }
  5083  
  5084  // GoString returns the string representation.
  5085  //
  5086  // API parameter values that are decorated as "sensitive" in the API will not
  5087  // be included in the string output. The member name will be present, but the
  5088  // value will be replaced with "sensitive".
  5089  func (s UpdateDataRetentionOutput) GoString() string {
  5090  	return s.String()
  5091  }
  5092  
  5093  type UpdateSignalingChannelInput struct {
  5094  	_ struct{} `type:"structure"`
  5095  
  5096  	// The Amazon Resource Name (ARN) of the signaling channel that you want to
  5097  	// update.
  5098  	//
  5099  	// ChannelARN is a required field
  5100  	ChannelARN *string `min:"1" type:"string" required:"true"`
  5101  
  5102  	// The current version of the signaling channel that you want to update.
  5103  	//
  5104  	// CurrentVersion is a required field
  5105  	CurrentVersion *string `min:"1" type:"string" required:"true"`
  5106  
  5107  	// The structure containing the configuration for the SINGLE_MASTER type of
  5108  	// the signaling channel that you want to update.
  5109  	SingleMasterConfiguration *SingleMasterConfiguration `type:"structure"`
  5110  }
  5111  
  5112  // String returns the string representation.
  5113  //
  5114  // API parameter values that are decorated as "sensitive" in the API will not
  5115  // be included in the string output. The member name will be present, but the
  5116  // value will be replaced with "sensitive".
  5117  func (s UpdateSignalingChannelInput) String() string {
  5118  	return awsutil.Prettify(s)
  5119  }
  5120  
  5121  // GoString returns the string representation.
  5122  //
  5123  // API parameter values that are decorated as "sensitive" in the API will not
  5124  // be included in the string output. The member name will be present, but the
  5125  // value will be replaced with "sensitive".
  5126  func (s UpdateSignalingChannelInput) GoString() string {
  5127  	return s.String()
  5128  }
  5129  
  5130  // Validate inspects the fields of the type to determine if they are valid.
  5131  func (s *UpdateSignalingChannelInput) Validate() error {
  5132  	invalidParams := request.ErrInvalidParams{Context: "UpdateSignalingChannelInput"}
  5133  	if s.ChannelARN == nil {
  5134  		invalidParams.Add(request.NewErrParamRequired("ChannelARN"))
  5135  	}
  5136  	if s.ChannelARN != nil && len(*s.ChannelARN) < 1 {
  5137  		invalidParams.Add(request.NewErrParamMinLen("ChannelARN", 1))
  5138  	}
  5139  	if s.CurrentVersion == nil {
  5140  		invalidParams.Add(request.NewErrParamRequired("CurrentVersion"))
  5141  	}
  5142  	if s.CurrentVersion != nil && len(*s.CurrentVersion) < 1 {
  5143  		invalidParams.Add(request.NewErrParamMinLen("CurrentVersion", 1))
  5144  	}
  5145  	if s.SingleMasterConfiguration != nil {
  5146  		if err := s.SingleMasterConfiguration.Validate(); err != nil {
  5147  			invalidParams.AddNested("SingleMasterConfiguration", err.(request.ErrInvalidParams))
  5148  		}
  5149  	}
  5150  
  5151  	if invalidParams.Len() > 0 {
  5152  		return invalidParams
  5153  	}
  5154  	return nil
  5155  }
  5156  
  5157  // SetChannelARN sets the ChannelARN field's value.
  5158  func (s *UpdateSignalingChannelInput) SetChannelARN(v string) *UpdateSignalingChannelInput {
  5159  	s.ChannelARN = &v
  5160  	return s
  5161  }
  5162  
  5163  // SetCurrentVersion sets the CurrentVersion field's value.
  5164  func (s *UpdateSignalingChannelInput) SetCurrentVersion(v string) *UpdateSignalingChannelInput {
  5165  	s.CurrentVersion = &v
  5166  	return s
  5167  }
  5168  
  5169  // SetSingleMasterConfiguration sets the SingleMasterConfiguration field's value.
  5170  func (s *UpdateSignalingChannelInput) SetSingleMasterConfiguration(v *SingleMasterConfiguration) *UpdateSignalingChannelInput {
  5171  	s.SingleMasterConfiguration = v
  5172  	return s
  5173  }
  5174  
  5175  type UpdateSignalingChannelOutput struct {
  5176  	_ struct{} `type:"structure" nopayload:"true"`
  5177  }
  5178  
  5179  // String returns the string representation.
  5180  //
  5181  // API parameter values that are decorated as "sensitive" in the API will not
  5182  // be included in the string output. The member name will be present, but the
  5183  // value will be replaced with "sensitive".
  5184  func (s UpdateSignalingChannelOutput) String() string {
  5185  	return awsutil.Prettify(s)
  5186  }
  5187  
  5188  // GoString returns the string representation.
  5189  //
  5190  // API parameter values that are decorated as "sensitive" in the API will not
  5191  // be included in the string output. The member name will be present, but the
  5192  // value will be replaced with "sensitive".
  5193  func (s UpdateSignalingChannelOutput) GoString() string {
  5194  	return s.String()
  5195  }
  5196  
  5197  type UpdateStreamInput struct {
  5198  	_ struct{} `type:"structure"`
  5199  
  5200  	// The version of the stream whose metadata you want to update.
  5201  	//
  5202  	// CurrentVersion is a required field
  5203  	CurrentVersion *string `min:"1" type:"string" required:"true"`
  5204  
  5205  	// The name of the device that is writing to the stream.
  5206  	//
  5207  	// In the current implementation, Kinesis Video Streams does not use this name.
  5208  	DeviceName *string `min:"1" type:"string"`
  5209  
  5210  	// The stream's media type. Use MediaType to specify the type of content that
  5211  	// the stream contains to the consumers of the stream. For more information
  5212  	// about media types, see Media Types (http://www.iana.org/assignments/media-types/media-types.xhtml).
  5213  	// If you choose to specify the MediaType, see Naming Requirements (https://tools.ietf.org/html/rfc6838#section-4.2).
  5214  	//
  5215  	// To play video on the console, you must specify the correct video type. For
  5216  	// example, if the video in the stream is H.264, specify video/h264 as the MediaType.
  5217  	MediaType *string `min:"1" type:"string"`
  5218  
  5219  	// The ARN of the stream whose metadata you want to update.
  5220  	StreamARN *string `min:"1" type:"string"`
  5221  
  5222  	// The name of the stream whose metadata you want to update.
  5223  	//
  5224  	// The stream name is an identifier for the stream, and must be unique for each
  5225  	// account and region.
  5226  	StreamName *string `min:"1" type:"string"`
  5227  }
  5228  
  5229  // String returns the string representation.
  5230  //
  5231  // API parameter values that are decorated as "sensitive" in the API will not
  5232  // be included in the string output. The member name will be present, but the
  5233  // value will be replaced with "sensitive".
  5234  func (s UpdateStreamInput) String() string {
  5235  	return awsutil.Prettify(s)
  5236  }
  5237  
  5238  // GoString returns the string representation.
  5239  //
  5240  // API parameter values that are decorated as "sensitive" in the API will not
  5241  // be included in the string output. The member name will be present, but the
  5242  // value will be replaced with "sensitive".
  5243  func (s UpdateStreamInput) GoString() string {
  5244  	return s.String()
  5245  }
  5246  
  5247  // Validate inspects the fields of the type to determine if they are valid.
  5248  func (s *UpdateStreamInput) Validate() error {
  5249  	invalidParams := request.ErrInvalidParams{Context: "UpdateStreamInput"}
  5250  	if s.CurrentVersion == nil {
  5251  		invalidParams.Add(request.NewErrParamRequired("CurrentVersion"))
  5252  	}
  5253  	if s.CurrentVersion != nil && len(*s.CurrentVersion) < 1 {
  5254  		invalidParams.Add(request.NewErrParamMinLen("CurrentVersion", 1))
  5255  	}
  5256  	if s.DeviceName != nil && len(*s.DeviceName) < 1 {
  5257  		invalidParams.Add(request.NewErrParamMinLen("DeviceName", 1))
  5258  	}
  5259  	if s.MediaType != nil && len(*s.MediaType) < 1 {
  5260  		invalidParams.Add(request.NewErrParamMinLen("MediaType", 1))
  5261  	}
  5262  	if s.StreamARN != nil && len(*s.StreamARN) < 1 {
  5263  		invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1))
  5264  	}
  5265  	if s.StreamName != nil && len(*s.StreamName) < 1 {
  5266  		invalidParams.Add(request.NewErrParamMinLen("StreamName", 1))
  5267  	}
  5268  
  5269  	if invalidParams.Len() > 0 {
  5270  		return invalidParams
  5271  	}
  5272  	return nil
  5273  }
  5274  
  5275  // SetCurrentVersion sets the CurrentVersion field's value.
  5276  func (s *UpdateStreamInput) SetCurrentVersion(v string) *UpdateStreamInput {
  5277  	s.CurrentVersion = &v
  5278  	return s
  5279  }
  5280  
  5281  // SetDeviceName sets the DeviceName field's value.
  5282  func (s *UpdateStreamInput) SetDeviceName(v string) *UpdateStreamInput {
  5283  	s.DeviceName = &v
  5284  	return s
  5285  }
  5286  
  5287  // SetMediaType sets the MediaType field's value.
  5288  func (s *UpdateStreamInput) SetMediaType(v string) *UpdateStreamInput {
  5289  	s.MediaType = &v
  5290  	return s
  5291  }
  5292  
  5293  // SetStreamARN sets the StreamARN field's value.
  5294  func (s *UpdateStreamInput) SetStreamARN(v string) *UpdateStreamInput {
  5295  	s.StreamARN = &v
  5296  	return s
  5297  }
  5298  
  5299  // SetStreamName sets the StreamName field's value.
  5300  func (s *UpdateStreamInput) SetStreamName(v string) *UpdateStreamInput {
  5301  	s.StreamName = &v
  5302  	return s
  5303  }
  5304  
  5305  type UpdateStreamOutput struct {
  5306  	_ struct{} `type:"structure" nopayload:"true"`
  5307  }
  5308  
  5309  // String returns the string representation.
  5310  //
  5311  // API parameter values that are decorated as "sensitive" in the API will not
  5312  // be included in the string output. The member name will be present, but the
  5313  // value will be replaced with "sensitive".
  5314  func (s UpdateStreamOutput) String() string {
  5315  	return awsutil.Prettify(s)
  5316  }
  5317  
  5318  // GoString returns the string representation.
  5319  //
  5320  // API parameter values that are decorated as "sensitive" in the API will not
  5321  // be included in the string output. The member name will be present, but the
  5322  // value will be replaced with "sensitive".
  5323  func (s UpdateStreamOutput) GoString() string {
  5324  	return s.String()
  5325  }
  5326  
  5327  // The stream version that you specified is not the latest version. To get the
  5328  // latest version, use the DescribeStream (https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DescribeStream.html)
  5329  // API.
  5330  type VersionMismatchException struct {
  5331  	_            struct{}                  `type:"structure"`
  5332  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5333  
  5334  	Message_ *string `locationName:"Message" type:"string"`
  5335  }
  5336  
  5337  // String returns the string representation.
  5338  //
  5339  // API parameter values that are decorated as "sensitive" in the API will not
  5340  // be included in the string output. The member name will be present, but the
  5341  // value will be replaced with "sensitive".
  5342  func (s VersionMismatchException) String() string {
  5343  	return awsutil.Prettify(s)
  5344  }
  5345  
  5346  // GoString returns the string representation.
  5347  //
  5348  // API parameter values that are decorated as "sensitive" in the API will not
  5349  // be included in the string output. The member name will be present, but the
  5350  // value will be replaced with "sensitive".
  5351  func (s VersionMismatchException) GoString() string {
  5352  	return s.String()
  5353  }
  5354  
  5355  func newErrorVersionMismatchException(v protocol.ResponseMetadata) error {
  5356  	return &VersionMismatchException{
  5357  		RespMetadata: v,
  5358  	}
  5359  }
  5360  
  5361  // Code returns the exception type name.
  5362  func (s *VersionMismatchException) Code() string {
  5363  	return "VersionMismatchException"
  5364  }
  5365  
  5366  // Message returns the exception's message.
  5367  func (s *VersionMismatchException) Message() string {
  5368  	if s.Message_ != nil {
  5369  		return *s.Message_
  5370  	}
  5371  	return ""
  5372  }
  5373  
  5374  // OrigErr always returns nil, satisfies awserr.Error interface.
  5375  func (s *VersionMismatchException) OrigErr() error {
  5376  	return nil
  5377  }
  5378  
  5379  func (s *VersionMismatchException) Error() string {
  5380  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5381  }
  5382  
  5383  // Status code returns the HTTP status code for the request's response error.
  5384  func (s *VersionMismatchException) StatusCode() int {
  5385  	return s.RespMetadata.StatusCode
  5386  }
  5387  
  5388  // RequestID returns the service's response RequestID for request.
  5389  func (s *VersionMismatchException) RequestID() string {
  5390  	return s.RespMetadata.RequestID
  5391  }
  5392  
  5393  const (
  5394  	// APINamePutMedia is a APIName enum value
  5395  	APINamePutMedia = "PUT_MEDIA"
  5396  
  5397  	// APINameGetMedia is a APIName enum value
  5398  	APINameGetMedia = "GET_MEDIA"
  5399  
  5400  	// APINameListFragments is a APIName enum value
  5401  	APINameListFragments = "LIST_FRAGMENTS"
  5402  
  5403  	// APINameGetMediaForFragmentList is a APIName enum value
  5404  	APINameGetMediaForFragmentList = "GET_MEDIA_FOR_FRAGMENT_LIST"
  5405  
  5406  	// APINameGetHlsStreamingSessionUrl is a APIName enum value
  5407  	APINameGetHlsStreamingSessionUrl = "GET_HLS_STREAMING_SESSION_URL"
  5408  
  5409  	// APINameGetDashStreamingSessionUrl is a APIName enum value
  5410  	APINameGetDashStreamingSessionUrl = "GET_DASH_STREAMING_SESSION_URL"
  5411  
  5412  	// APINameGetClip is a APIName enum value
  5413  	APINameGetClip = "GET_CLIP"
  5414  )
  5415  
  5416  // APIName_Values returns all elements of the APIName enum
  5417  func APIName_Values() []string {
  5418  	return []string{
  5419  		APINamePutMedia,
  5420  		APINameGetMedia,
  5421  		APINameListFragments,
  5422  		APINameGetMediaForFragmentList,
  5423  		APINameGetHlsStreamingSessionUrl,
  5424  		APINameGetDashStreamingSessionUrl,
  5425  		APINameGetClip,
  5426  	}
  5427  }
  5428  
  5429  const (
  5430  	// ChannelProtocolWss is a ChannelProtocol enum value
  5431  	ChannelProtocolWss = "WSS"
  5432  
  5433  	// ChannelProtocolHttps is a ChannelProtocol enum value
  5434  	ChannelProtocolHttps = "HTTPS"
  5435  )
  5436  
  5437  // ChannelProtocol_Values returns all elements of the ChannelProtocol enum
  5438  func ChannelProtocol_Values() []string {
  5439  	return []string{
  5440  		ChannelProtocolWss,
  5441  		ChannelProtocolHttps,
  5442  	}
  5443  }
  5444  
  5445  const (
  5446  	// ChannelRoleMaster is a ChannelRole enum value
  5447  	ChannelRoleMaster = "MASTER"
  5448  
  5449  	// ChannelRoleViewer is a ChannelRole enum value
  5450  	ChannelRoleViewer = "VIEWER"
  5451  )
  5452  
  5453  // ChannelRole_Values returns all elements of the ChannelRole enum
  5454  func ChannelRole_Values() []string {
  5455  	return []string{
  5456  		ChannelRoleMaster,
  5457  		ChannelRoleViewer,
  5458  	}
  5459  }
  5460  
  5461  const (
  5462  	// ChannelTypeSingleMaster is a ChannelType enum value
  5463  	ChannelTypeSingleMaster = "SINGLE_MASTER"
  5464  )
  5465  
  5466  // ChannelType_Values returns all elements of the ChannelType enum
  5467  func ChannelType_Values() []string {
  5468  	return []string{
  5469  		ChannelTypeSingleMaster,
  5470  	}
  5471  }
  5472  
  5473  const (
  5474  	// ComparisonOperatorBeginsWith is a ComparisonOperator enum value
  5475  	ComparisonOperatorBeginsWith = "BEGINS_WITH"
  5476  )
  5477  
  5478  // ComparisonOperator_Values returns all elements of the ComparisonOperator enum
  5479  func ComparisonOperator_Values() []string {
  5480  	return []string{
  5481  		ComparisonOperatorBeginsWith,
  5482  	}
  5483  }
  5484  
  5485  const (
  5486  	// StatusCreating is a Status enum value
  5487  	StatusCreating = "CREATING"
  5488  
  5489  	// StatusActive is a Status enum value
  5490  	StatusActive = "ACTIVE"
  5491  
  5492  	// StatusUpdating is a Status enum value
  5493  	StatusUpdating = "UPDATING"
  5494  
  5495  	// StatusDeleting is a Status enum value
  5496  	StatusDeleting = "DELETING"
  5497  )
  5498  
  5499  // Status_Values returns all elements of the Status enum
  5500  func Status_Values() []string {
  5501  	return []string{
  5502  		StatusCreating,
  5503  		StatusActive,
  5504  		StatusUpdating,
  5505  		StatusDeleting,
  5506  	}
  5507  }
  5508  
  5509  const (
  5510  	// UpdateDataRetentionOperationIncreaseDataRetention is a UpdateDataRetentionOperation enum value
  5511  	UpdateDataRetentionOperationIncreaseDataRetention = "INCREASE_DATA_RETENTION"
  5512  
  5513  	// UpdateDataRetentionOperationDecreaseDataRetention is a UpdateDataRetentionOperation enum value
  5514  	UpdateDataRetentionOperationDecreaseDataRetention = "DECREASE_DATA_RETENTION"
  5515  )
  5516  
  5517  // UpdateDataRetentionOperation_Values returns all elements of the UpdateDataRetentionOperation enum
  5518  func UpdateDataRetentionOperation_Values() []string {
  5519  	return []string{
  5520  		UpdateDataRetentionOperationIncreaseDataRetention,
  5521  		UpdateDataRetentionOperationDecreaseDataRetention,
  5522  	}
  5523  }