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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package rekognition
     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/jsonrpc"
    14  )
    15  
    16  const opCompareFaces = "CompareFaces"
    17  
    18  // CompareFacesRequest generates a "aws/request.Request" representing the
    19  // client's request for the CompareFaces 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 CompareFaces for more information on using the CompareFaces
    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 CompareFacesRequest method.
    34  //    req, resp := client.CompareFacesRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  func (c *Rekognition) CompareFacesRequest(input *CompareFacesInput) (req *request.Request, output *CompareFacesOutput) {
    41  	op := &request.Operation{
    42  		Name:       opCompareFaces,
    43  		HTTPMethod: "POST",
    44  		HTTPPath:   "/",
    45  	}
    46  
    47  	if input == nil {
    48  		input = &CompareFacesInput{}
    49  	}
    50  
    51  	output = &CompareFacesOutput{}
    52  	req = c.newRequest(op, input, output)
    53  	return
    54  }
    55  
    56  // CompareFaces API operation for Amazon Rekognition.
    57  //
    58  // Compares a face in the source input image with each of the 100 largest faces
    59  // detected in the target input image.
    60  //
    61  // If the source image contains multiple faces, the service detects the largest
    62  // face and compares it with each face detected in the target image.
    63  //
    64  // CompareFaces uses machine learning algorithms, which are probabilistic. A
    65  // false negative is an incorrect prediction that a face in the target image
    66  // has a low similarity confidence score when compared to the face in the source
    67  // image. To reduce the probability of false negatives, we recommend that you
    68  // compare the target image against multiple source images. If you plan to use
    69  // CompareFaces to make a decision that impacts an individual's rights, privacy,
    70  // or access to services, we recommend that you pass the result to a human for
    71  // review and further validation before taking action.
    72  //
    73  // You pass the input and target images either as base64-encoded image bytes
    74  // or as references to images in an Amazon S3 bucket. If you use the AWS CLI
    75  // to call Amazon Rekognition operations, passing image bytes isn't supported.
    76  // The image must be formatted as a PNG or JPEG file.
    77  //
    78  // In response, the operation returns an array of face matches ordered by similarity
    79  // score in descending order. For each face match, the response provides a bounding
    80  // box of the face, facial landmarks, pose details (pitch, role, and yaw), quality
    81  // (brightness and sharpness), and confidence value (indicating the level of
    82  // confidence that the bounding box contains a face). The response also provides
    83  // a similarity score, which indicates how closely the faces match.
    84  //
    85  // By default, only faces with a similarity score of greater than or equal to
    86  // 80% are returned in the response. You can change this value by specifying
    87  // the SimilarityThreshold parameter.
    88  //
    89  // CompareFaces also returns an array of faces that don't match the source image.
    90  // For each face, it returns a bounding box, confidence value, landmarks, pose
    91  // details, and quality. The response also returns information about the face
    92  // in the source image, including the bounding box of the face and confidence
    93  // value.
    94  //
    95  // The QualityFilter input parameter allows you to filter out detected faces
    96  // that don’t meet a required quality bar. The quality bar is based on a variety
    97  // of common use cases. Use QualityFilter to set the quality bar by specifying
    98  // LOW, MEDIUM, or HIGH. If you do not want to filter detected faces, specify
    99  // NONE. The default value is NONE.
   100  //
   101  // If the image doesn't contain Exif metadata, CompareFaces returns orientation
   102  // information for the source and target images. Use these values to display
   103  // the images with the correct image orientation.
   104  //
   105  // If no faces are detected in the source or target images, CompareFaces returns
   106  // an InvalidParameterException error.
   107  //
   108  // This is a stateless API operation. That is, data returned by this operation
   109  // doesn't persist.
   110  //
   111  // For an example, see Comparing Faces in Images in the Amazon Rekognition Developer
   112  // Guide.
   113  //
   114  // This operation requires permissions to perform the rekognition:CompareFaces
   115  // action.
   116  //
   117  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   118  // with awserr.Error's Code and Message methods to get detailed information about
   119  // the error.
   120  //
   121  // See the AWS API reference guide for Amazon Rekognition's
   122  // API operation CompareFaces for usage and error information.
   123  //
   124  // Returned Error Types:
   125  //   * InvalidParameterException
   126  //   Input parameter violated a constraint. Validate your parameter before calling
   127  //   the API operation again.
   128  //
   129  //   * InvalidS3ObjectException
   130  //   Amazon Rekognition is unable to access the S3 object specified in the request.
   131  //
   132  //   * ImageTooLargeException
   133  //   The input image size exceeds the allowed limit. If you are calling DetectProtectiveEquipment,
   134  //   the image size or resolution exceeds the allowed limit. For more information,
   135  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
   136  //
   137  //   * AccessDeniedException
   138  //   You are not authorized to perform the action.
   139  //
   140  //   * InternalServerError
   141  //   Amazon Rekognition experienced a service issue. Try your call again.
   142  //
   143  //   * ThrottlingException
   144  //   Amazon Rekognition is temporarily unable to process the request. Try your
   145  //   call again.
   146  //
   147  //   * ProvisionedThroughputExceededException
   148  //   The number of requests exceeded your throughput limit. If you want to increase
   149  //   this limit, contact Amazon Rekognition.
   150  //
   151  //   * InvalidImageFormatException
   152  //   The provided image format is not supported.
   153  //
   154  func (c *Rekognition) CompareFaces(input *CompareFacesInput) (*CompareFacesOutput, error) {
   155  	req, out := c.CompareFacesRequest(input)
   156  	return out, req.Send()
   157  }
   158  
   159  // CompareFacesWithContext is the same as CompareFaces with the addition of
   160  // the ability to pass a context and additional request options.
   161  //
   162  // See CompareFaces for details on how to use this API operation.
   163  //
   164  // The context must be non-nil and will be used for request cancellation. If
   165  // the context is nil a panic will occur. In the future the SDK may create
   166  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   167  // for more information on using Contexts.
   168  func (c *Rekognition) CompareFacesWithContext(ctx aws.Context, input *CompareFacesInput, opts ...request.Option) (*CompareFacesOutput, error) {
   169  	req, out := c.CompareFacesRequest(input)
   170  	req.SetContext(ctx)
   171  	req.ApplyOptions(opts...)
   172  	return out, req.Send()
   173  }
   174  
   175  const opCreateCollection = "CreateCollection"
   176  
   177  // CreateCollectionRequest generates a "aws/request.Request" representing the
   178  // client's request for the CreateCollection operation. The "output" return
   179  // value will be populated with the request's response once the request completes
   180  // successfully.
   181  //
   182  // Use "Send" method on the returned Request to send the API call to the service.
   183  // the "output" return value is not valid until after Send returns without error.
   184  //
   185  // See CreateCollection for more information on using the CreateCollection
   186  // API call, and error handling.
   187  //
   188  // This method is useful when you want to inject custom logic or configuration
   189  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   190  //
   191  //
   192  //    // Example sending a request using the CreateCollectionRequest method.
   193  //    req, resp := client.CreateCollectionRequest(params)
   194  //
   195  //    err := req.Send()
   196  //    if err == nil { // resp is now filled
   197  //        fmt.Println(resp)
   198  //    }
   199  func (c *Rekognition) CreateCollectionRequest(input *CreateCollectionInput) (req *request.Request, output *CreateCollectionOutput) {
   200  	op := &request.Operation{
   201  		Name:       opCreateCollection,
   202  		HTTPMethod: "POST",
   203  		HTTPPath:   "/",
   204  	}
   205  
   206  	if input == nil {
   207  		input = &CreateCollectionInput{}
   208  	}
   209  
   210  	output = &CreateCollectionOutput{}
   211  	req = c.newRequest(op, input, output)
   212  	return
   213  }
   214  
   215  // CreateCollection API operation for Amazon Rekognition.
   216  //
   217  // Creates a collection in an AWS Region. You can add faces to the collection
   218  // using the IndexFaces operation.
   219  //
   220  // For example, you might create collections, one for each of your application
   221  // users. A user can then index faces using the IndexFaces operation and persist
   222  // results in a specific collection. Then, a user can search the collection
   223  // for faces in the user-specific container.
   224  //
   225  // When you create a collection, it is associated with the latest version of
   226  // the face model version.
   227  //
   228  // Collection names are case-sensitive.
   229  //
   230  // This operation requires permissions to perform the rekognition:CreateCollection
   231  // action. If you want to tag your collection, you also require permission to
   232  // perform the rekognition:TagResource operation.
   233  //
   234  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   235  // with awserr.Error's Code and Message methods to get detailed information about
   236  // the error.
   237  //
   238  // See the AWS API reference guide for Amazon Rekognition's
   239  // API operation CreateCollection for usage and error information.
   240  //
   241  // Returned Error Types:
   242  //   * InvalidParameterException
   243  //   Input parameter violated a constraint. Validate your parameter before calling
   244  //   the API operation again.
   245  //
   246  //   * AccessDeniedException
   247  //   You are not authorized to perform the action.
   248  //
   249  //   * InternalServerError
   250  //   Amazon Rekognition experienced a service issue. Try your call again.
   251  //
   252  //   * ThrottlingException
   253  //   Amazon Rekognition is temporarily unable to process the request. Try your
   254  //   call again.
   255  //
   256  //   * ProvisionedThroughputExceededException
   257  //   The number of requests exceeded your throughput limit. If you want to increase
   258  //   this limit, contact Amazon Rekognition.
   259  //
   260  //   * ResourceAlreadyExistsException
   261  //   A resource with the specified ID already exists.
   262  //
   263  //   * ServiceQuotaExceededException
   264  //   The size of the collection exceeds the allowed limit. For more information,
   265  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
   266  //
   267  func (c *Rekognition) CreateCollection(input *CreateCollectionInput) (*CreateCollectionOutput, error) {
   268  	req, out := c.CreateCollectionRequest(input)
   269  	return out, req.Send()
   270  }
   271  
   272  // CreateCollectionWithContext is the same as CreateCollection with the addition of
   273  // the ability to pass a context and additional request options.
   274  //
   275  // See CreateCollection for details on how to use this API operation.
   276  //
   277  // The context must be non-nil and will be used for request cancellation. If
   278  // the context is nil a panic will occur. In the future the SDK may create
   279  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   280  // for more information on using Contexts.
   281  func (c *Rekognition) CreateCollectionWithContext(ctx aws.Context, input *CreateCollectionInput, opts ...request.Option) (*CreateCollectionOutput, error) {
   282  	req, out := c.CreateCollectionRequest(input)
   283  	req.SetContext(ctx)
   284  	req.ApplyOptions(opts...)
   285  	return out, req.Send()
   286  }
   287  
   288  const opCreateProject = "CreateProject"
   289  
   290  // CreateProjectRequest generates a "aws/request.Request" representing the
   291  // client's request for the CreateProject operation. The "output" return
   292  // value will be populated with the request's response once the request completes
   293  // successfully.
   294  //
   295  // Use "Send" method on the returned Request to send the API call to the service.
   296  // the "output" return value is not valid until after Send returns without error.
   297  //
   298  // See CreateProject for more information on using the CreateProject
   299  // API call, and error handling.
   300  //
   301  // This method is useful when you want to inject custom logic or configuration
   302  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   303  //
   304  //
   305  //    // Example sending a request using the CreateProjectRequest method.
   306  //    req, resp := client.CreateProjectRequest(params)
   307  //
   308  //    err := req.Send()
   309  //    if err == nil { // resp is now filled
   310  //        fmt.Println(resp)
   311  //    }
   312  func (c *Rekognition) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) {
   313  	op := &request.Operation{
   314  		Name:       opCreateProject,
   315  		HTTPMethod: "POST",
   316  		HTTPPath:   "/",
   317  	}
   318  
   319  	if input == nil {
   320  		input = &CreateProjectInput{}
   321  	}
   322  
   323  	output = &CreateProjectOutput{}
   324  	req = c.newRequest(op, input, output)
   325  	return
   326  }
   327  
   328  // CreateProject API operation for Amazon Rekognition.
   329  //
   330  // Creates a new Amazon Rekognition Custom Labels project. A project is a logical
   331  // grouping of resources (images, Labels, models) and operations (training,
   332  // evaluation and detection).
   333  //
   334  // This operation requires permissions to perform the rekognition:CreateProject
   335  // action.
   336  //
   337  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   338  // with awserr.Error's Code and Message methods to get detailed information about
   339  // the error.
   340  //
   341  // See the AWS API reference guide for Amazon Rekognition's
   342  // API operation CreateProject for usage and error information.
   343  //
   344  // Returned Error Types:
   345  //   * ResourceInUseException
   346  //   The specified resource is already being used.
   347  //
   348  //   * LimitExceededException
   349  //   An Amazon Rekognition service limit was exceeded. For example, if you start
   350  //   too many Amazon Rekognition Video jobs concurrently, calls to start operations
   351  //   (StartLabelDetection, for example) will raise a LimitExceededException exception
   352  //   (HTTP status code: 400) until the number of concurrently running jobs is
   353  //   below the Amazon Rekognition service limit.
   354  //
   355  //   * InvalidParameterException
   356  //   Input parameter violated a constraint. Validate your parameter before calling
   357  //   the API operation again.
   358  //
   359  //   * AccessDeniedException
   360  //   You are not authorized to perform the action.
   361  //
   362  //   * InternalServerError
   363  //   Amazon Rekognition experienced a service issue. Try your call again.
   364  //
   365  //   * ThrottlingException
   366  //   Amazon Rekognition is temporarily unable to process the request. Try your
   367  //   call again.
   368  //
   369  //   * ProvisionedThroughputExceededException
   370  //   The number of requests exceeded your throughput limit. If you want to increase
   371  //   this limit, contact Amazon Rekognition.
   372  //
   373  func (c *Rekognition) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) {
   374  	req, out := c.CreateProjectRequest(input)
   375  	return out, req.Send()
   376  }
   377  
   378  // CreateProjectWithContext is the same as CreateProject with the addition of
   379  // the ability to pass a context and additional request options.
   380  //
   381  // See CreateProject for details on how to use this API operation.
   382  //
   383  // The context must be non-nil and will be used for request cancellation. If
   384  // the context is nil a panic will occur. In the future the SDK may create
   385  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   386  // for more information on using Contexts.
   387  func (c *Rekognition) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) {
   388  	req, out := c.CreateProjectRequest(input)
   389  	req.SetContext(ctx)
   390  	req.ApplyOptions(opts...)
   391  	return out, req.Send()
   392  }
   393  
   394  const opCreateProjectVersion = "CreateProjectVersion"
   395  
   396  // CreateProjectVersionRequest generates a "aws/request.Request" representing the
   397  // client's request for the CreateProjectVersion operation. The "output" return
   398  // value will be populated with the request's response once the request completes
   399  // successfully.
   400  //
   401  // Use "Send" method on the returned Request to send the API call to the service.
   402  // the "output" return value is not valid until after Send returns without error.
   403  //
   404  // See CreateProjectVersion for more information on using the CreateProjectVersion
   405  // API call, and error handling.
   406  //
   407  // This method is useful when you want to inject custom logic or configuration
   408  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   409  //
   410  //
   411  //    // Example sending a request using the CreateProjectVersionRequest method.
   412  //    req, resp := client.CreateProjectVersionRequest(params)
   413  //
   414  //    err := req.Send()
   415  //    if err == nil { // resp is now filled
   416  //        fmt.Println(resp)
   417  //    }
   418  func (c *Rekognition) CreateProjectVersionRequest(input *CreateProjectVersionInput) (req *request.Request, output *CreateProjectVersionOutput) {
   419  	op := &request.Operation{
   420  		Name:       opCreateProjectVersion,
   421  		HTTPMethod: "POST",
   422  		HTTPPath:   "/",
   423  	}
   424  
   425  	if input == nil {
   426  		input = &CreateProjectVersionInput{}
   427  	}
   428  
   429  	output = &CreateProjectVersionOutput{}
   430  	req = c.newRequest(op, input, output)
   431  	return
   432  }
   433  
   434  // CreateProjectVersion API operation for Amazon Rekognition.
   435  //
   436  // Creates a new version of a model and begins training. Models are managed
   437  // as part of an Amazon Rekognition Custom Labels project. You can specify one
   438  // training dataset and one testing dataset. The response from CreateProjectVersion
   439  // is an Amazon Resource Name (ARN) for the version of the model.
   440  //
   441  // Training takes a while to complete. You can get the current status by calling
   442  // DescribeProjectVersions.
   443  //
   444  // Once training has successfully completed, call DescribeProjectVersions to
   445  // get the training results and evaluate the model.
   446  //
   447  // After evaluating the model, you start the model by calling StartProjectVersion.
   448  //
   449  // This operation requires permissions to perform the rekognition:CreateProjectVersion
   450  // action.
   451  //
   452  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   453  // with awserr.Error's Code and Message methods to get detailed information about
   454  // the error.
   455  //
   456  // See the AWS API reference guide for Amazon Rekognition's
   457  // API operation CreateProjectVersion for usage and error information.
   458  //
   459  // Returned Error Types:
   460  //   * ResourceInUseException
   461  //   The specified resource is already being used.
   462  //
   463  //   * ResourceNotFoundException
   464  //   The resource specified in the request cannot be found.
   465  //
   466  //   * LimitExceededException
   467  //   An Amazon Rekognition service limit was exceeded. For example, if you start
   468  //   too many Amazon Rekognition Video jobs concurrently, calls to start operations
   469  //   (StartLabelDetection, for example) will raise a LimitExceededException exception
   470  //   (HTTP status code: 400) until the number of concurrently running jobs is
   471  //   below the Amazon Rekognition service limit.
   472  //
   473  //   * InvalidParameterException
   474  //   Input parameter violated a constraint. Validate your parameter before calling
   475  //   the API operation again.
   476  //
   477  //   * AccessDeniedException
   478  //   You are not authorized to perform the action.
   479  //
   480  //   * InternalServerError
   481  //   Amazon Rekognition experienced a service issue. Try your call again.
   482  //
   483  //   * ThrottlingException
   484  //   Amazon Rekognition is temporarily unable to process the request. Try your
   485  //   call again.
   486  //
   487  //   * ProvisionedThroughputExceededException
   488  //   The number of requests exceeded your throughput limit. If you want to increase
   489  //   this limit, contact Amazon Rekognition.
   490  //
   491  //   * ServiceQuotaExceededException
   492  //   The size of the collection exceeds the allowed limit. For more information,
   493  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
   494  //
   495  func (c *Rekognition) CreateProjectVersion(input *CreateProjectVersionInput) (*CreateProjectVersionOutput, error) {
   496  	req, out := c.CreateProjectVersionRequest(input)
   497  	return out, req.Send()
   498  }
   499  
   500  // CreateProjectVersionWithContext is the same as CreateProjectVersion with the addition of
   501  // the ability to pass a context and additional request options.
   502  //
   503  // See CreateProjectVersion for details on how to use this API operation.
   504  //
   505  // The context must be non-nil and will be used for request cancellation. If
   506  // the context is nil a panic will occur. In the future the SDK may create
   507  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   508  // for more information on using Contexts.
   509  func (c *Rekognition) CreateProjectVersionWithContext(ctx aws.Context, input *CreateProjectVersionInput, opts ...request.Option) (*CreateProjectVersionOutput, error) {
   510  	req, out := c.CreateProjectVersionRequest(input)
   511  	req.SetContext(ctx)
   512  	req.ApplyOptions(opts...)
   513  	return out, req.Send()
   514  }
   515  
   516  const opCreateStreamProcessor = "CreateStreamProcessor"
   517  
   518  // CreateStreamProcessorRequest generates a "aws/request.Request" representing the
   519  // client's request for the CreateStreamProcessor operation. The "output" return
   520  // value will be populated with the request's response once the request completes
   521  // successfully.
   522  //
   523  // Use "Send" method on the returned Request to send the API call to the service.
   524  // the "output" return value is not valid until after Send returns without error.
   525  //
   526  // See CreateStreamProcessor for more information on using the CreateStreamProcessor
   527  // API call, and error handling.
   528  //
   529  // This method is useful when you want to inject custom logic or configuration
   530  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   531  //
   532  //
   533  //    // Example sending a request using the CreateStreamProcessorRequest method.
   534  //    req, resp := client.CreateStreamProcessorRequest(params)
   535  //
   536  //    err := req.Send()
   537  //    if err == nil { // resp is now filled
   538  //        fmt.Println(resp)
   539  //    }
   540  func (c *Rekognition) CreateStreamProcessorRequest(input *CreateStreamProcessorInput) (req *request.Request, output *CreateStreamProcessorOutput) {
   541  	op := &request.Operation{
   542  		Name:       opCreateStreamProcessor,
   543  		HTTPMethod: "POST",
   544  		HTTPPath:   "/",
   545  	}
   546  
   547  	if input == nil {
   548  		input = &CreateStreamProcessorInput{}
   549  	}
   550  
   551  	output = &CreateStreamProcessorOutput{}
   552  	req = c.newRequest(op, input, output)
   553  	return
   554  }
   555  
   556  // CreateStreamProcessor API operation for Amazon Rekognition.
   557  //
   558  // Creates an Amazon Rekognition stream processor that you can use to detect
   559  // and recognize faces in a streaming video.
   560  //
   561  // Amazon Rekognition Video is a consumer of live video from Amazon Kinesis
   562  // Video Streams. Amazon Rekognition Video sends analysis results to Amazon
   563  // Kinesis Data Streams.
   564  //
   565  // You provide as input a Kinesis video stream (Input) and a Kinesis data stream
   566  // (Output) stream. You also specify the face recognition criteria in Settings.
   567  // For example, the collection containing faces that you want to recognize.
   568  // Use Name to assign an identifier for the stream processor. You use Name to
   569  // manage the stream processor. For example, you can start processing the source
   570  // video by calling StartStreamProcessor with the Name field.
   571  //
   572  // After you have finished analyzing a streaming video, use StopStreamProcessor
   573  // to stop processing. You can delete the stream processor by calling DeleteStreamProcessor.
   574  //
   575  // This operation requires permissions to perform the rekognition:CreateStreamProcessor
   576  // action. If you want to tag your stream processor, you also require permission
   577  // to perform the rekognition:TagResource operation.
   578  //
   579  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   580  // with awserr.Error's Code and Message methods to get detailed information about
   581  // the error.
   582  //
   583  // See the AWS API reference guide for Amazon Rekognition's
   584  // API operation CreateStreamProcessor for usage and error information.
   585  //
   586  // Returned Error Types:
   587  //   * AccessDeniedException
   588  //   You are not authorized to perform the action.
   589  //
   590  //   * InternalServerError
   591  //   Amazon Rekognition experienced a service issue. Try your call again.
   592  //
   593  //   * ThrottlingException
   594  //   Amazon Rekognition is temporarily unable to process the request. Try your
   595  //   call again.
   596  //
   597  //   * InvalidParameterException
   598  //   Input parameter violated a constraint. Validate your parameter before calling
   599  //   the API operation again.
   600  //
   601  //   * LimitExceededException
   602  //   An Amazon Rekognition service limit was exceeded. For example, if you start
   603  //   too many Amazon Rekognition Video jobs concurrently, calls to start operations
   604  //   (StartLabelDetection, for example) will raise a LimitExceededException exception
   605  //   (HTTP status code: 400) until the number of concurrently running jobs is
   606  //   below the Amazon Rekognition service limit.
   607  //
   608  //   * ResourceInUseException
   609  //   The specified resource is already being used.
   610  //
   611  //   * ProvisionedThroughputExceededException
   612  //   The number of requests exceeded your throughput limit. If you want to increase
   613  //   this limit, contact Amazon Rekognition.
   614  //
   615  //   * ServiceQuotaExceededException
   616  //   The size of the collection exceeds the allowed limit. For more information,
   617  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
   618  //
   619  func (c *Rekognition) CreateStreamProcessor(input *CreateStreamProcessorInput) (*CreateStreamProcessorOutput, error) {
   620  	req, out := c.CreateStreamProcessorRequest(input)
   621  	return out, req.Send()
   622  }
   623  
   624  // CreateStreamProcessorWithContext is the same as CreateStreamProcessor with the addition of
   625  // the ability to pass a context and additional request options.
   626  //
   627  // See CreateStreamProcessor for details on how to use this API operation.
   628  //
   629  // The context must be non-nil and will be used for request cancellation. If
   630  // the context is nil a panic will occur. In the future the SDK may create
   631  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   632  // for more information on using Contexts.
   633  func (c *Rekognition) CreateStreamProcessorWithContext(ctx aws.Context, input *CreateStreamProcessorInput, opts ...request.Option) (*CreateStreamProcessorOutput, error) {
   634  	req, out := c.CreateStreamProcessorRequest(input)
   635  	req.SetContext(ctx)
   636  	req.ApplyOptions(opts...)
   637  	return out, req.Send()
   638  }
   639  
   640  const opDeleteCollection = "DeleteCollection"
   641  
   642  // DeleteCollectionRequest generates a "aws/request.Request" representing the
   643  // client's request for the DeleteCollection operation. The "output" return
   644  // value will be populated with the request's response once the request completes
   645  // successfully.
   646  //
   647  // Use "Send" method on the returned Request to send the API call to the service.
   648  // the "output" return value is not valid until after Send returns without error.
   649  //
   650  // See DeleteCollection for more information on using the DeleteCollection
   651  // API call, and error handling.
   652  //
   653  // This method is useful when you want to inject custom logic or configuration
   654  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   655  //
   656  //
   657  //    // Example sending a request using the DeleteCollectionRequest method.
   658  //    req, resp := client.DeleteCollectionRequest(params)
   659  //
   660  //    err := req.Send()
   661  //    if err == nil { // resp is now filled
   662  //        fmt.Println(resp)
   663  //    }
   664  func (c *Rekognition) DeleteCollectionRequest(input *DeleteCollectionInput) (req *request.Request, output *DeleteCollectionOutput) {
   665  	op := &request.Operation{
   666  		Name:       opDeleteCollection,
   667  		HTTPMethod: "POST",
   668  		HTTPPath:   "/",
   669  	}
   670  
   671  	if input == nil {
   672  		input = &DeleteCollectionInput{}
   673  	}
   674  
   675  	output = &DeleteCollectionOutput{}
   676  	req = c.newRequest(op, input, output)
   677  	return
   678  }
   679  
   680  // DeleteCollection API operation for Amazon Rekognition.
   681  //
   682  // Deletes the specified collection. Note that this operation removes all faces
   683  // in the collection. For an example, see delete-collection-procedure.
   684  //
   685  // This operation requires permissions to perform the rekognition:DeleteCollection
   686  // action.
   687  //
   688  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   689  // with awserr.Error's Code and Message methods to get detailed information about
   690  // the error.
   691  //
   692  // See the AWS API reference guide for Amazon Rekognition's
   693  // API operation DeleteCollection for usage and error information.
   694  //
   695  // Returned Error Types:
   696  //   * InvalidParameterException
   697  //   Input parameter violated a constraint. Validate your parameter before calling
   698  //   the API operation again.
   699  //
   700  //   * AccessDeniedException
   701  //   You are not authorized to perform the action.
   702  //
   703  //   * InternalServerError
   704  //   Amazon Rekognition experienced a service issue. Try your call again.
   705  //
   706  //   * ThrottlingException
   707  //   Amazon Rekognition is temporarily unable to process the request. Try your
   708  //   call again.
   709  //
   710  //   * ProvisionedThroughputExceededException
   711  //   The number of requests exceeded your throughput limit. If you want to increase
   712  //   this limit, contact Amazon Rekognition.
   713  //
   714  //   * ResourceNotFoundException
   715  //   The resource specified in the request cannot be found.
   716  //
   717  func (c *Rekognition) DeleteCollection(input *DeleteCollectionInput) (*DeleteCollectionOutput, error) {
   718  	req, out := c.DeleteCollectionRequest(input)
   719  	return out, req.Send()
   720  }
   721  
   722  // DeleteCollectionWithContext is the same as DeleteCollection with the addition of
   723  // the ability to pass a context and additional request options.
   724  //
   725  // See DeleteCollection for details on how to use this API operation.
   726  //
   727  // The context must be non-nil and will be used for request cancellation. If
   728  // the context is nil a panic will occur. In the future the SDK may create
   729  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   730  // for more information on using Contexts.
   731  func (c *Rekognition) DeleteCollectionWithContext(ctx aws.Context, input *DeleteCollectionInput, opts ...request.Option) (*DeleteCollectionOutput, error) {
   732  	req, out := c.DeleteCollectionRequest(input)
   733  	req.SetContext(ctx)
   734  	req.ApplyOptions(opts...)
   735  	return out, req.Send()
   736  }
   737  
   738  const opDeleteFaces = "DeleteFaces"
   739  
   740  // DeleteFacesRequest generates a "aws/request.Request" representing the
   741  // client's request for the DeleteFaces operation. The "output" return
   742  // value will be populated with the request's response once the request completes
   743  // successfully.
   744  //
   745  // Use "Send" method on the returned Request to send the API call to the service.
   746  // the "output" return value is not valid until after Send returns without error.
   747  //
   748  // See DeleteFaces for more information on using the DeleteFaces
   749  // API call, and error handling.
   750  //
   751  // This method is useful when you want to inject custom logic or configuration
   752  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   753  //
   754  //
   755  //    // Example sending a request using the DeleteFacesRequest method.
   756  //    req, resp := client.DeleteFacesRequest(params)
   757  //
   758  //    err := req.Send()
   759  //    if err == nil { // resp is now filled
   760  //        fmt.Println(resp)
   761  //    }
   762  func (c *Rekognition) DeleteFacesRequest(input *DeleteFacesInput) (req *request.Request, output *DeleteFacesOutput) {
   763  	op := &request.Operation{
   764  		Name:       opDeleteFaces,
   765  		HTTPMethod: "POST",
   766  		HTTPPath:   "/",
   767  	}
   768  
   769  	if input == nil {
   770  		input = &DeleteFacesInput{}
   771  	}
   772  
   773  	output = &DeleteFacesOutput{}
   774  	req = c.newRequest(op, input, output)
   775  	return
   776  }
   777  
   778  // DeleteFaces API operation for Amazon Rekognition.
   779  //
   780  // Deletes faces from a collection. You specify a collection ID and an array
   781  // of face IDs to remove from the collection.
   782  //
   783  // This operation requires permissions to perform the rekognition:DeleteFaces
   784  // action.
   785  //
   786  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   787  // with awserr.Error's Code and Message methods to get detailed information about
   788  // the error.
   789  //
   790  // See the AWS API reference guide for Amazon Rekognition's
   791  // API operation DeleteFaces for usage and error information.
   792  //
   793  // Returned Error Types:
   794  //   * InvalidParameterException
   795  //   Input parameter violated a constraint. Validate your parameter before calling
   796  //   the API operation again.
   797  //
   798  //   * AccessDeniedException
   799  //   You are not authorized to perform the action.
   800  //
   801  //   * InternalServerError
   802  //   Amazon Rekognition experienced a service issue. Try your call again.
   803  //
   804  //   * ThrottlingException
   805  //   Amazon Rekognition is temporarily unable to process the request. Try your
   806  //   call again.
   807  //
   808  //   * ProvisionedThroughputExceededException
   809  //   The number of requests exceeded your throughput limit. If you want to increase
   810  //   this limit, contact Amazon Rekognition.
   811  //
   812  //   * ResourceNotFoundException
   813  //   The resource specified in the request cannot be found.
   814  //
   815  func (c *Rekognition) DeleteFaces(input *DeleteFacesInput) (*DeleteFacesOutput, error) {
   816  	req, out := c.DeleteFacesRequest(input)
   817  	return out, req.Send()
   818  }
   819  
   820  // DeleteFacesWithContext is the same as DeleteFaces with the addition of
   821  // the ability to pass a context and additional request options.
   822  //
   823  // See DeleteFaces for details on how to use this API operation.
   824  //
   825  // The context must be non-nil and will be used for request cancellation. If
   826  // the context is nil a panic will occur. In the future the SDK may create
   827  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   828  // for more information on using Contexts.
   829  func (c *Rekognition) DeleteFacesWithContext(ctx aws.Context, input *DeleteFacesInput, opts ...request.Option) (*DeleteFacesOutput, error) {
   830  	req, out := c.DeleteFacesRequest(input)
   831  	req.SetContext(ctx)
   832  	req.ApplyOptions(opts...)
   833  	return out, req.Send()
   834  }
   835  
   836  const opDeleteProject = "DeleteProject"
   837  
   838  // DeleteProjectRequest generates a "aws/request.Request" representing the
   839  // client's request for the DeleteProject operation. The "output" return
   840  // value will be populated with the request's response once the request completes
   841  // successfully.
   842  //
   843  // Use "Send" method on the returned Request to send the API call to the service.
   844  // the "output" return value is not valid until after Send returns without error.
   845  //
   846  // See DeleteProject for more information on using the DeleteProject
   847  // API call, and error handling.
   848  //
   849  // This method is useful when you want to inject custom logic or configuration
   850  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   851  //
   852  //
   853  //    // Example sending a request using the DeleteProjectRequest method.
   854  //    req, resp := client.DeleteProjectRequest(params)
   855  //
   856  //    err := req.Send()
   857  //    if err == nil { // resp is now filled
   858  //        fmt.Println(resp)
   859  //    }
   860  func (c *Rekognition) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
   861  	op := &request.Operation{
   862  		Name:       opDeleteProject,
   863  		HTTPMethod: "POST",
   864  		HTTPPath:   "/",
   865  	}
   866  
   867  	if input == nil {
   868  		input = &DeleteProjectInput{}
   869  	}
   870  
   871  	output = &DeleteProjectOutput{}
   872  	req = c.newRequest(op, input, output)
   873  	return
   874  }
   875  
   876  // DeleteProject API operation for Amazon Rekognition.
   877  //
   878  // Deletes an Amazon Rekognition Custom Labels project. To delete a project
   879  // you must first delete all models associated with the project. To delete a
   880  // model, see DeleteProjectVersion.
   881  //
   882  // This operation requires permissions to perform the rekognition:DeleteProject
   883  // action.
   884  //
   885  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   886  // with awserr.Error's Code and Message methods to get detailed information about
   887  // the error.
   888  //
   889  // See the AWS API reference guide for Amazon Rekognition's
   890  // API operation DeleteProject for usage and error information.
   891  //
   892  // Returned Error Types:
   893  //   * ResourceInUseException
   894  //   The specified resource is already being used.
   895  //
   896  //   * ResourceNotFoundException
   897  //   The resource specified in the request cannot be found.
   898  //
   899  //   * InvalidParameterException
   900  //   Input parameter violated a constraint. Validate your parameter before calling
   901  //   the API operation again.
   902  //
   903  //   * AccessDeniedException
   904  //   You are not authorized to perform the action.
   905  //
   906  //   * InternalServerError
   907  //   Amazon Rekognition experienced a service issue. Try your call again.
   908  //
   909  //   * ThrottlingException
   910  //   Amazon Rekognition is temporarily unable to process the request. Try your
   911  //   call again.
   912  //
   913  //   * ProvisionedThroughputExceededException
   914  //   The number of requests exceeded your throughput limit. If you want to increase
   915  //   this limit, contact Amazon Rekognition.
   916  //
   917  func (c *Rekognition) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
   918  	req, out := c.DeleteProjectRequest(input)
   919  	return out, req.Send()
   920  }
   921  
   922  // DeleteProjectWithContext is the same as DeleteProject with the addition of
   923  // the ability to pass a context and additional request options.
   924  //
   925  // See DeleteProject for details on how to use this API operation.
   926  //
   927  // The context must be non-nil and will be used for request cancellation. If
   928  // the context is nil a panic will occur. In the future the SDK may create
   929  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   930  // for more information on using Contexts.
   931  func (c *Rekognition) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
   932  	req, out := c.DeleteProjectRequest(input)
   933  	req.SetContext(ctx)
   934  	req.ApplyOptions(opts...)
   935  	return out, req.Send()
   936  }
   937  
   938  const opDeleteProjectVersion = "DeleteProjectVersion"
   939  
   940  // DeleteProjectVersionRequest generates a "aws/request.Request" representing the
   941  // client's request for the DeleteProjectVersion operation. The "output" return
   942  // value will be populated with the request's response once the request completes
   943  // successfully.
   944  //
   945  // Use "Send" method on the returned Request to send the API call to the service.
   946  // the "output" return value is not valid until after Send returns without error.
   947  //
   948  // See DeleteProjectVersion for more information on using the DeleteProjectVersion
   949  // API call, and error handling.
   950  //
   951  // This method is useful when you want to inject custom logic or configuration
   952  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   953  //
   954  //
   955  //    // Example sending a request using the DeleteProjectVersionRequest method.
   956  //    req, resp := client.DeleteProjectVersionRequest(params)
   957  //
   958  //    err := req.Send()
   959  //    if err == nil { // resp is now filled
   960  //        fmt.Println(resp)
   961  //    }
   962  func (c *Rekognition) DeleteProjectVersionRequest(input *DeleteProjectVersionInput) (req *request.Request, output *DeleteProjectVersionOutput) {
   963  	op := &request.Operation{
   964  		Name:       opDeleteProjectVersion,
   965  		HTTPMethod: "POST",
   966  		HTTPPath:   "/",
   967  	}
   968  
   969  	if input == nil {
   970  		input = &DeleteProjectVersionInput{}
   971  	}
   972  
   973  	output = &DeleteProjectVersionOutput{}
   974  	req = c.newRequest(op, input, output)
   975  	return
   976  }
   977  
   978  // DeleteProjectVersion API operation for Amazon Rekognition.
   979  //
   980  // Deletes an Amazon Rekognition Custom Labels model.
   981  //
   982  // You can't delete a model if it is running or if it is training. To check
   983  // the status of a model, use the Status field returned from DescribeProjectVersions.
   984  // To stop a running model call StopProjectVersion. If the model is training,
   985  // wait until it finishes.
   986  //
   987  // This operation requires permissions to perform the rekognition:DeleteProjectVersion
   988  // action.
   989  //
   990  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   991  // with awserr.Error's Code and Message methods to get detailed information about
   992  // the error.
   993  //
   994  // See the AWS API reference guide for Amazon Rekognition's
   995  // API operation DeleteProjectVersion for usage and error information.
   996  //
   997  // Returned Error Types:
   998  //   * ResourceNotFoundException
   999  //   The resource specified in the request cannot be found.
  1000  //
  1001  //   * ResourceInUseException
  1002  //   The specified resource is already being used.
  1003  //
  1004  //   * InvalidParameterException
  1005  //   Input parameter violated a constraint. Validate your parameter before calling
  1006  //   the API operation again.
  1007  //
  1008  //   * AccessDeniedException
  1009  //   You are not authorized to perform the action.
  1010  //
  1011  //   * InternalServerError
  1012  //   Amazon Rekognition experienced a service issue. Try your call again.
  1013  //
  1014  //   * ThrottlingException
  1015  //   Amazon Rekognition is temporarily unable to process the request. Try your
  1016  //   call again.
  1017  //
  1018  //   * ProvisionedThroughputExceededException
  1019  //   The number of requests exceeded your throughput limit. If you want to increase
  1020  //   this limit, contact Amazon Rekognition.
  1021  //
  1022  func (c *Rekognition) DeleteProjectVersion(input *DeleteProjectVersionInput) (*DeleteProjectVersionOutput, error) {
  1023  	req, out := c.DeleteProjectVersionRequest(input)
  1024  	return out, req.Send()
  1025  }
  1026  
  1027  // DeleteProjectVersionWithContext is the same as DeleteProjectVersion with the addition of
  1028  // the ability to pass a context and additional request options.
  1029  //
  1030  // See DeleteProjectVersion for details on how to use this API operation.
  1031  //
  1032  // The context must be non-nil and will be used for request cancellation. If
  1033  // the context is nil a panic will occur. In the future the SDK may create
  1034  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1035  // for more information on using Contexts.
  1036  func (c *Rekognition) DeleteProjectVersionWithContext(ctx aws.Context, input *DeleteProjectVersionInput, opts ...request.Option) (*DeleteProjectVersionOutput, error) {
  1037  	req, out := c.DeleteProjectVersionRequest(input)
  1038  	req.SetContext(ctx)
  1039  	req.ApplyOptions(opts...)
  1040  	return out, req.Send()
  1041  }
  1042  
  1043  const opDeleteStreamProcessor = "DeleteStreamProcessor"
  1044  
  1045  // DeleteStreamProcessorRequest generates a "aws/request.Request" representing the
  1046  // client's request for the DeleteStreamProcessor operation. The "output" return
  1047  // value will be populated with the request's response once the request completes
  1048  // successfully.
  1049  //
  1050  // Use "Send" method on the returned Request to send the API call to the service.
  1051  // the "output" return value is not valid until after Send returns without error.
  1052  //
  1053  // See DeleteStreamProcessor for more information on using the DeleteStreamProcessor
  1054  // API call, and error handling.
  1055  //
  1056  // This method is useful when you want to inject custom logic or configuration
  1057  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1058  //
  1059  //
  1060  //    // Example sending a request using the DeleteStreamProcessorRequest method.
  1061  //    req, resp := client.DeleteStreamProcessorRequest(params)
  1062  //
  1063  //    err := req.Send()
  1064  //    if err == nil { // resp is now filled
  1065  //        fmt.Println(resp)
  1066  //    }
  1067  func (c *Rekognition) DeleteStreamProcessorRequest(input *DeleteStreamProcessorInput) (req *request.Request, output *DeleteStreamProcessorOutput) {
  1068  	op := &request.Operation{
  1069  		Name:       opDeleteStreamProcessor,
  1070  		HTTPMethod: "POST",
  1071  		HTTPPath:   "/",
  1072  	}
  1073  
  1074  	if input == nil {
  1075  		input = &DeleteStreamProcessorInput{}
  1076  	}
  1077  
  1078  	output = &DeleteStreamProcessorOutput{}
  1079  	req = c.newRequest(op, input, output)
  1080  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1081  	return
  1082  }
  1083  
  1084  // DeleteStreamProcessor API operation for Amazon Rekognition.
  1085  //
  1086  // Deletes the stream processor identified by Name. You assign the value for
  1087  // Name when you create the stream processor with CreateStreamProcessor. You
  1088  // might not be able to use the same name for a stream processor for a few seconds
  1089  // after calling DeleteStreamProcessor.
  1090  //
  1091  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1092  // with awserr.Error's Code and Message methods to get detailed information about
  1093  // the error.
  1094  //
  1095  // See the AWS API reference guide for Amazon Rekognition's
  1096  // API operation DeleteStreamProcessor for usage and error information.
  1097  //
  1098  // Returned Error Types:
  1099  //   * AccessDeniedException
  1100  //   You are not authorized to perform the action.
  1101  //
  1102  //   * InternalServerError
  1103  //   Amazon Rekognition experienced a service issue. Try your call again.
  1104  //
  1105  //   * ThrottlingException
  1106  //   Amazon Rekognition is temporarily unable to process the request. Try your
  1107  //   call again.
  1108  //
  1109  //   * InvalidParameterException
  1110  //   Input parameter violated a constraint. Validate your parameter before calling
  1111  //   the API operation again.
  1112  //
  1113  //   * ResourceNotFoundException
  1114  //   The resource specified in the request cannot be found.
  1115  //
  1116  //   * ResourceInUseException
  1117  //   The specified resource is already being used.
  1118  //
  1119  //   * ProvisionedThroughputExceededException
  1120  //   The number of requests exceeded your throughput limit. If you want to increase
  1121  //   this limit, contact Amazon Rekognition.
  1122  //
  1123  func (c *Rekognition) DeleteStreamProcessor(input *DeleteStreamProcessorInput) (*DeleteStreamProcessorOutput, error) {
  1124  	req, out := c.DeleteStreamProcessorRequest(input)
  1125  	return out, req.Send()
  1126  }
  1127  
  1128  // DeleteStreamProcessorWithContext is the same as DeleteStreamProcessor with the addition of
  1129  // the ability to pass a context and additional request options.
  1130  //
  1131  // See DeleteStreamProcessor for details on how to use this API operation.
  1132  //
  1133  // The context must be non-nil and will be used for request cancellation. If
  1134  // the context is nil a panic will occur. In the future the SDK may create
  1135  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1136  // for more information on using Contexts.
  1137  func (c *Rekognition) DeleteStreamProcessorWithContext(ctx aws.Context, input *DeleteStreamProcessorInput, opts ...request.Option) (*DeleteStreamProcessorOutput, error) {
  1138  	req, out := c.DeleteStreamProcessorRequest(input)
  1139  	req.SetContext(ctx)
  1140  	req.ApplyOptions(opts...)
  1141  	return out, req.Send()
  1142  }
  1143  
  1144  const opDescribeCollection = "DescribeCollection"
  1145  
  1146  // DescribeCollectionRequest generates a "aws/request.Request" representing the
  1147  // client's request for the DescribeCollection operation. The "output" return
  1148  // value will be populated with the request's response once the request completes
  1149  // successfully.
  1150  //
  1151  // Use "Send" method on the returned Request to send the API call to the service.
  1152  // the "output" return value is not valid until after Send returns without error.
  1153  //
  1154  // See DescribeCollection for more information on using the DescribeCollection
  1155  // API call, and error handling.
  1156  //
  1157  // This method is useful when you want to inject custom logic or configuration
  1158  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1159  //
  1160  //
  1161  //    // Example sending a request using the DescribeCollectionRequest method.
  1162  //    req, resp := client.DescribeCollectionRequest(params)
  1163  //
  1164  //    err := req.Send()
  1165  //    if err == nil { // resp is now filled
  1166  //        fmt.Println(resp)
  1167  //    }
  1168  func (c *Rekognition) DescribeCollectionRequest(input *DescribeCollectionInput) (req *request.Request, output *DescribeCollectionOutput) {
  1169  	op := &request.Operation{
  1170  		Name:       opDescribeCollection,
  1171  		HTTPMethod: "POST",
  1172  		HTTPPath:   "/",
  1173  	}
  1174  
  1175  	if input == nil {
  1176  		input = &DescribeCollectionInput{}
  1177  	}
  1178  
  1179  	output = &DescribeCollectionOutput{}
  1180  	req = c.newRequest(op, input, output)
  1181  	return
  1182  }
  1183  
  1184  // DescribeCollection API operation for Amazon Rekognition.
  1185  //
  1186  // Describes the specified collection. You can use DescribeCollection to get
  1187  // information, such as the number of faces indexed into a collection and the
  1188  // version of the model used by the collection for face detection.
  1189  //
  1190  // For more information, see Describing a Collection in the Amazon Rekognition
  1191  // Developer Guide.
  1192  //
  1193  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1194  // with awserr.Error's Code and Message methods to get detailed information about
  1195  // the error.
  1196  //
  1197  // See the AWS API reference guide for Amazon Rekognition's
  1198  // API operation DescribeCollection for usage and error information.
  1199  //
  1200  // Returned Error Types:
  1201  //   * InvalidParameterException
  1202  //   Input parameter violated a constraint. Validate your parameter before calling
  1203  //   the API operation again.
  1204  //
  1205  //   * AccessDeniedException
  1206  //   You are not authorized to perform the action.
  1207  //
  1208  //   * InternalServerError
  1209  //   Amazon Rekognition experienced a service issue. Try your call again.
  1210  //
  1211  //   * ThrottlingException
  1212  //   Amazon Rekognition is temporarily unable to process the request. Try your
  1213  //   call again.
  1214  //
  1215  //   * ProvisionedThroughputExceededException
  1216  //   The number of requests exceeded your throughput limit. If you want to increase
  1217  //   this limit, contact Amazon Rekognition.
  1218  //
  1219  //   * ResourceNotFoundException
  1220  //   The resource specified in the request cannot be found.
  1221  //
  1222  func (c *Rekognition) DescribeCollection(input *DescribeCollectionInput) (*DescribeCollectionOutput, error) {
  1223  	req, out := c.DescribeCollectionRequest(input)
  1224  	return out, req.Send()
  1225  }
  1226  
  1227  // DescribeCollectionWithContext is the same as DescribeCollection with the addition of
  1228  // the ability to pass a context and additional request options.
  1229  //
  1230  // See DescribeCollection for details on how to use this API operation.
  1231  //
  1232  // The context must be non-nil and will be used for request cancellation. If
  1233  // the context is nil a panic will occur. In the future the SDK may create
  1234  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1235  // for more information on using Contexts.
  1236  func (c *Rekognition) DescribeCollectionWithContext(ctx aws.Context, input *DescribeCollectionInput, opts ...request.Option) (*DescribeCollectionOutput, error) {
  1237  	req, out := c.DescribeCollectionRequest(input)
  1238  	req.SetContext(ctx)
  1239  	req.ApplyOptions(opts...)
  1240  	return out, req.Send()
  1241  }
  1242  
  1243  const opDescribeProjectVersions = "DescribeProjectVersions"
  1244  
  1245  // DescribeProjectVersionsRequest generates a "aws/request.Request" representing the
  1246  // client's request for the DescribeProjectVersions operation. The "output" return
  1247  // value will be populated with the request's response once the request completes
  1248  // successfully.
  1249  //
  1250  // Use "Send" method on the returned Request to send the API call to the service.
  1251  // the "output" return value is not valid until after Send returns without error.
  1252  //
  1253  // See DescribeProjectVersions for more information on using the DescribeProjectVersions
  1254  // API call, and error handling.
  1255  //
  1256  // This method is useful when you want to inject custom logic or configuration
  1257  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1258  //
  1259  //
  1260  //    // Example sending a request using the DescribeProjectVersionsRequest method.
  1261  //    req, resp := client.DescribeProjectVersionsRequest(params)
  1262  //
  1263  //    err := req.Send()
  1264  //    if err == nil { // resp is now filled
  1265  //        fmt.Println(resp)
  1266  //    }
  1267  func (c *Rekognition) DescribeProjectVersionsRequest(input *DescribeProjectVersionsInput) (req *request.Request, output *DescribeProjectVersionsOutput) {
  1268  	op := &request.Operation{
  1269  		Name:       opDescribeProjectVersions,
  1270  		HTTPMethod: "POST",
  1271  		HTTPPath:   "/",
  1272  		Paginator: &request.Paginator{
  1273  			InputTokens:     []string{"NextToken"},
  1274  			OutputTokens:    []string{"NextToken"},
  1275  			LimitToken:      "MaxResults",
  1276  			TruncationToken: "",
  1277  		},
  1278  	}
  1279  
  1280  	if input == nil {
  1281  		input = &DescribeProjectVersionsInput{}
  1282  	}
  1283  
  1284  	output = &DescribeProjectVersionsOutput{}
  1285  	req = c.newRequest(op, input, output)
  1286  	return
  1287  }
  1288  
  1289  // DescribeProjectVersions API operation for Amazon Rekognition.
  1290  //
  1291  // Lists and describes the models in an Amazon Rekognition Custom Labels project.
  1292  // You can specify up to 10 model versions in ProjectVersionArns. If you don't
  1293  // specify a value, descriptions for all models are returned.
  1294  //
  1295  // This operation requires permissions to perform the rekognition:DescribeProjectVersions
  1296  // action.
  1297  //
  1298  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1299  // with awserr.Error's Code and Message methods to get detailed information about
  1300  // the error.
  1301  //
  1302  // See the AWS API reference guide for Amazon Rekognition's
  1303  // API operation DescribeProjectVersions for usage and error information.
  1304  //
  1305  // Returned Error Types:
  1306  //   * ResourceNotFoundException
  1307  //   The resource specified in the request cannot be found.
  1308  //
  1309  //   * InvalidPaginationTokenException
  1310  //   Pagination token in the request is not valid.
  1311  //
  1312  //   * InvalidParameterException
  1313  //   Input parameter violated a constraint. Validate your parameter before calling
  1314  //   the API operation again.
  1315  //
  1316  //   * AccessDeniedException
  1317  //   You are not authorized to perform the action.
  1318  //
  1319  //   * InternalServerError
  1320  //   Amazon Rekognition experienced a service issue. Try your call again.
  1321  //
  1322  //   * ThrottlingException
  1323  //   Amazon Rekognition is temporarily unable to process the request. Try your
  1324  //   call again.
  1325  //
  1326  //   * ProvisionedThroughputExceededException
  1327  //   The number of requests exceeded your throughput limit. If you want to increase
  1328  //   this limit, contact Amazon Rekognition.
  1329  //
  1330  func (c *Rekognition) DescribeProjectVersions(input *DescribeProjectVersionsInput) (*DescribeProjectVersionsOutput, error) {
  1331  	req, out := c.DescribeProjectVersionsRequest(input)
  1332  	return out, req.Send()
  1333  }
  1334  
  1335  // DescribeProjectVersionsWithContext is the same as DescribeProjectVersions with the addition of
  1336  // the ability to pass a context and additional request options.
  1337  //
  1338  // See DescribeProjectVersions for details on how to use this API operation.
  1339  //
  1340  // The context must be non-nil and will be used for request cancellation. If
  1341  // the context is nil a panic will occur. In the future the SDK may create
  1342  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1343  // for more information on using Contexts.
  1344  func (c *Rekognition) DescribeProjectVersionsWithContext(ctx aws.Context, input *DescribeProjectVersionsInput, opts ...request.Option) (*DescribeProjectVersionsOutput, error) {
  1345  	req, out := c.DescribeProjectVersionsRequest(input)
  1346  	req.SetContext(ctx)
  1347  	req.ApplyOptions(opts...)
  1348  	return out, req.Send()
  1349  }
  1350  
  1351  // DescribeProjectVersionsPages iterates over the pages of a DescribeProjectVersions operation,
  1352  // calling the "fn" function with the response data for each page. To stop
  1353  // iterating, return false from the fn function.
  1354  //
  1355  // See DescribeProjectVersions method for more information on how to use this operation.
  1356  //
  1357  // Note: This operation can generate multiple requests to a service.
  1358  //
  1359  //    // Example iterating over at most 3 pages of a DescribeProjectVersions operation.
  1360  //    pageNum := 0
  1361  //    err := client.DescribeProjectVersionsPages(params,
  1362  //        func(page *rekognition.DescribeProjectVersionsOutput, lastPage bool) bool {
  1363  //            pageNum++
  1364  //            fmt.Println(page)
  1365  //            return pageNum <= 3
  1366  //        })
  1367  //
  1368  func (c *Rekognition) DescribeProjectVersionsPages(input *DescribeProjectVersionsInput, fn func(*DescribeProjectVersionsOutput, bool) bool) error {
  1369  	return c.DescribeProjectVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  1370  }
  1371  
  1372  // DescribeProjectVersionsPagesWithContext same as DescribeProjectVersionsPages except
  1373  // it takes a Context and allows setting request options on the pages.
  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 *Rekognition) DescribeProjectVersionsPagesWithContext(ctx aws.Context, input *DescribeProjectVersionsInput, fn func(*DescribeProjectVersionsOutput, bool) bool, opts ...request.Option) error {
  1380  	p := request.Pagination{
  1381  		NewRequest: func() (*request.Request, error) {
  1382  			var inCpy *DescribeProjectVersionsInput
  1383  			if input != nil {
  1384  				tmp := *input
  1385  				inCpy = &tmp
  1386  			}
  1387  			req, _ := c.DescribeProjectVersionsRequest(inCpy)
  1388  			req.SetContext(ctx)
  1389  			req.ApplyOptions(opts...)
  1390  			return req, nil
  1391  		},
  1392  	}
  1393  
  1394  	for p.Next() {
  1395  		if !fn(p.Page().(*DescribeProjectVersionsOutput), !p.HasNextPage()) {
  1396  			break
  1397  		}
  1398  	}
  1399  
  1400  	return p.Err()
  1401  }
  1402  
  1403  const opDescribeProjects = "DescribeProjects"
  1404  
  1405  // DescribeProjectsRequest generates a "aws/request.Request" representing the
  1406  // client's request for the DescribeProjects operation. The "output" return
  1407  // value will be populated with the request's response once the request completes
  1408  // successfully.
  1409  //
  1410  // Use "Send" method on the returned Request to send the API call to the service.
  1411  // the "output" return value is not valid until after Send returns without error.
  1412  //
  1413  // See DescribeProjects for more information on using the DescribeProjects
  1414  // API call, and error handling.
  1415  //
  1416  // This method is useful when you want to inject custom logic or configuration
  1417  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1418  //
  1419  //
  1420  //    // Example sending a request using the DescribeProjectsRequest method.
  1421  //    req, resp := client.DescribeProjectsRequest(params)
  1422  //
  1423  //    err := req.Send()
  1424  //    if err == nil { // resp is now filled
  1425  //        fmt.Println(resp)
  1426  //    }
  1427  func (c *Rekognition) DescribeProjectsRequest(input *DescribeProjectsInput) (req *request.Request, output *DescribeProjectsOutput) {
  1428  	op := &request.Operation{
  1429  		Name:       opDescribeProjects,
  1430  		HTTPMethod: "POST",
  1431  		HTTPPath:   "/",
  1432  		Paginator: &request.Paginator{
  1433  			InputTokens:     []string{"NextToken"},
  1434  			OutputTokens:    []string{"NextToken"},
  1435  			LimitToken:      "MaxResults",
  1436  			TruncationToken: "",
  1437  		},
  1438  	}
  1439  
  1440  	if input == nil {
  1441  		input = &DescribeProjectsInput{}
  1442  	}
  1443  
  1444  	output = &DescribeProjectsOutput{}
  1445  	req = c.newRequest(op, input, output)
  1446  	return
  1447  }
  1448  
  1449  // DescribeProjects API operation for Amazon Rekognition.
  1450  //
  1451  // Lists and gets information about your Amazon Rekognition Custom Labels projects.
  1452  //
  1453  // This operation requires permissions to perform the rekognition:DescribeProjects
  1454  // action.
  1455  //
  1456  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1457  // with awserr.Error's Code and Message methods to get detailed information about
  1458  // the error.
  1459  //
  1460  // See the AWS API reference guide for Amazon Rekognition's
  1461  // API operation DescribeProjects for usage and error information.
  1462  //
  1463  // Returned Error Types:
  1464  //   * InvalidPaginationTokenException
  1465  //   Pagination token in the request is not valid.
  1466  //
  1467  //   * InvalidParameterException
  1468  //   Input parameter violated a constraint. Validate your parameter before calling
  1469  //   the API operation again.
  1470  //
  1471  //   * AccessDeniedException
  1472  //   You are not authorized to perform the action.
  1473  //
  1474  //   * InternalServerError
  1475  //   Amazon Rekognition experienced a service issue. Try your call again.
  1476  //
  1477  //   * ThrottlingException
  1478  //   Amazon Rekognition is temporarily unable to process the request. Try your
  1479  //   call again.
  1480  //
  1481  //   * ProvisionedThroughputExceededException
  1482  //   The number of requests exceeded your throughput limit. If you want to increase
  1483  //   this limit, contact Amazon Rekognition.
  1484  //
  1485  func (c *Rekognition) DescribeProjects(input *DescribeProjectsInput) (*DescribeProjectsOutput, error) {
  1486  	req, out := c.DescribeProjectsRequest(input)
  1487  	return out, req.Send()
  1488  }
  1489  
  1490  // DescribeProjectsWithContext is the same as DescribeProjects with the addition of
  1491  // the ability to pass a context and additional request options.
  1492  //
  1493  // See DescribeProjects for details on how to use this API operation.
  1494  //
  1495  // The context must be non-nil and will be used for request cancellation. If
  1496  // the context is nil a panic will occur. In the future the SDK may create
  1497  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1498  // for more information on using Contexts.
  1499  func (c *Rekognition) DescribeProjectsWithContext(ctx aws.Context, input *DescribeProjectsInput, opts ...request.Option) (*DescribeProjectsOutput, error) {
  1500  	req, out := c.DescribeProjectsRequest(input)
  1501  	req.SetContext(ctx)
  1502  	req.ApplyOptions(opts...)
  1503  	return out, req.Send()
  1504  }
  1505  
  1506  // DescribeProjectsPages iterates over the pages of a DescribeProjects operation,
  1507  // calling the "fn" function with the response data for each page. To stop
  1508  // iterating, return false from the fn function.
  1509  //
  1510  // See DescribeProjects method for more information on how to use this operation.
  1511  //
  1512  // Note: This operation can generate multiple requests to a service.
  1513  //
  1514  //    // Example iterating over at most 3 pages of a DescribeProjects operation.
  1515  //    pageNum := 0
  1516  //    err := client.DescribeProjectsPages(params,
  1517  //        func(page *rekognition.DescribeProjectsOutput, lastPage bool) bool {
  1518  //            pageNum++
  1519  //            fmt.Println(page)
  1520  //            return pageNum <= 3
  1521  //        })
  1522  //
  1523  func (c *Rekognition) DescribeProjectsPages(input *DescribeProjectsInput, fn func(*DescribeProjectsOutput, bool) bool) error {
  1524  	return c.DescribeProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
  1525  }
  1526  
  1527  // DescribeProjectsPagesWithContext same as DescribeProjectsPages except
  1528  // it takes a Context and allows setting request options on the pages.
  1529  //
  1530  // The context must be non-nil and will be used for request cancellation. If
  1531  // the context is nil a panic will occur. In the future the SDK may create
  1532  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1533  // for more information on using Contexts.
  1534  func (c *Rekognition) DescribeProjectsPagesWithContext(ctx aws.Context, input *DescribeProjectsInput, fn func(*DescribeProjectsOutput, bool) bool, opts ...request.Option) error {
  1535  	p := request.Pagination{
  1536  		NewRequest: func() (*request.Request, error) {
  1537  			var inCpy *DescribeProjectsInput
  1538  			if input != nil {
  1539  				tmp := *input
  1540  				inCpy = &tmp
  1541  			}
  1542  			req, _ := c.DescribeProjectsRequest(inCpy)
  1543  			req.SetContext(ctx)
  1544  			req.ApplyOptions(opts...)
  1545  			return req, nil
  1546  		},
  1547  	}
  1548  
  1549  	for p.Next() {
  1550  		if !fn(p.Page().(*DescribeProjectsOutput), !p.HasNextPage()) {
  1551  			break
  1552  		}
  1553  	}
  1554  
  1555  	return p.Err()
  1556  }
  1557  
  1558  const opDescribeStreamProcessor = "DescribeStreamProcessor"
  1559  
  1560  // DescribeStreamProcessorRequest generates a "aws/request.Request" representing the
  1561  // client's request for the DescribeStreamProcessor operation. The "output" return
  1562  // value will be populated with the request's response once the request completes
  1563  // successfully.
  1564  //
  1565  // Use "Send" method on the returned Request to send the API call to the service.
  1566  // the "output" return value is not valid until after Send returns without error.
  1567  //
  1568  // See DescribeStreamProcessor for more information on using the DescribeStreamProcessor
  1569  // API call, and error handling.
  1570  //
  1571  // This method is useful when you want to inject custom logic or configuration
  1572  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1573  //
  1574  //
  1575  //    // Example sending a request using the DescribeStreamProcessorRequest method.
  1576  //    req, resp := client.DescribeStreamProcessorRequest(params)
  1577  //
  1578  //    err := req.Send()
  1579  //    if err == nil { // resp is now filled
  1580  //        fmt.Println(resp)
  1581  //    }
  1582  func (c *Rekognition) DescribeStreamProcessorRequest(input *DescribeStreamProcessorInput) (req *request.Request, output *DescribeStreamProcessorOutput) {
  1583  	op := &request.Operation{
  1584  		Name:       opDescribeStreamProcessor,
  1585  		HTTPMethod: "POST",
  1586  		HTTPPath:   "/",
  1587  	}
  1588  
  1589  	if input == nil {
  1590  		input = &DescribeStreamProcessorInput{}
  1591  	}
  1592  
  1593  	output = &DescribeStreamProcessorOutput{}
  1594  	req = c.newRequest(op, input, output)
  1595  	return
  1596  }
  1597  
  1598  // DescribeStreamProcessor API operation for Amazon Rekognition.
  1599  //
  1600  // Provides information about a stream processor created by CreateStreamProcessor.
  1601  // You can get information about the input and output streams, the input parameters
  1602  // for the face recognition being performed, and the current status of the stream
  1603  // processor.
  1604  //
  1605  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1606  // with awserr.Error's Code and Message methods to get detailed information about
  1607  // the error.
  1608  //
  1609  // See the AWS API reference guide for Amazon Rekognition's
  1610  // API operation DescribeStreamProcessor for usage and error information.
  1611  //
  1612  // Returned Error Types:
  1613  //   * AccessDeniedException
  1614  //   You are not authorized to perform the action.
  1615  //
  1616  //   * InternalServerError
  1617  //   Amazon Rekognition experienced a service issue. Try your call again.
  1618  //
  1619  //   * ThrottlingException
  1620  //   Amazon Rekognition is temporarily unable to process the request. Try your
  1621  //   call again.
  1622  //
  1623  //   * InvalidParameterException
  1624  //   Input parameter violated a constraint. Validate your parameter before calling
  1625  //   the API operation again.
  1626  //
  1627  //   * ResourceNotFoundException
  1628  //   The resource specified in the request cannot be found.
  1629  //
  1630  //   * ProvisionedThroughputExceededException
  1631  //   The number of requests exceeded your throughput limit. If you want to increase
  1632  //   this limit, contact Amazon Rekognition.
  1633  //
  1634  func (c *Rekognition) DescribeStreamProcessor(input *DescribeStreamProcessorInput) (*DescribeStreamProcessorOutput, error) {
  1635  	req, out := c.DescribeStreamProcessorRequest(input)
  1636  	return out, req.Send()
  1637  }
  1638  
  1639  // DescribeStreamProcessorWithContext is the same as DescribeStreamProcessor with the addition of
  1640  // the ability to pass a context and additional request options.
  1641  //
  1642  // See DescribeStreamProcessor for details on how to use this API operation.
  1643  //
  1644  // The context must be non-nil and will be used for request cancellation. If
  1645  // the context is nil a panic will occur. In the future the SDK may create
  1646  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1647  // for more information on using Contexts.
  1648  func (c *Rekognition) DescribeStreamProcessorWithContext(ctx aws.Context, input *DescribeStreamProcessorInput, opts ...request.Option) (*DescribeStreamProcessorOutput, error) {
  1649  	req, out := c.DescribeStreamProcessorRequest(input)
  1650  	req.SetContext(ctx)
  1651  	req.ApplyOptions(opts...)
  1652  	return out, req.Send()
  1653  }
  1654  
  1655  const opDetectCustomLabels = "DetectCustomLabels"
  1656  
  1657  // DetectCustomLabelsRequest generates a "aws/request.Request" representing the
  1658  // client's request for the DetectCustomLabels operation. The "output" return
  1659  // value will be populated with the request's response once the request completes
  1660  // successfully.
  1661  //
  1662  // Use "Send" method on the returned Request to send the API call to the service.
  1663  // the "output" return value is not valid until after Send returns without error.
  1664  //
  1665  // See DetectCustomLabels for more information on using the DetectCustomLabels
  1666  // API call, and error handling.
  1667  //
  1668  // This method is useful when you want to inject custom logic or configuration
  1669  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1670  //
  1671  //
  1672  //    // Example sending a request using the DetectCustomLabelsRequest method.
  1673  //    req, resp := client.DetectCustomLabelsRequest(params)
  1674  //
  1675  //    err := req.Send()
  1676  //    if err == nil { // resp is now filled
  1677  //        fmt.Println(resp)
  1678  //    }
  1679  func (c *Rekognition) DetectCustomLabelsRequest(input *DetectCustomLabelsInput) (req *request.Request, output *DetectCustomLabelsOutput) {
  1680  	op := &request.Operation{
  1681  		Name:       opDetectCustomLabels,
  1682  		HTTPMethod: "POST",
  1683  		HTTPPath:   "/",
  1684  	}
  1685  
  1686  	if input == nil {
  1687  		input = &DetectCustomLabelsInput{}
  1688  	}
  1689  
  1690  	output = &DetectCustomLabelsOutput{}
  1691  	req = c.newRequest(op, input, output)
  1692  	return
  1693  }
  1694  
  1695  // DetectCustomLabels API operation for Amazon Rekognition.
  1696  //
  1697  // Detects custom labels in a supplied image by using an Amazon Rekognition
  1698  // Custom Labels model.
  1699  //
  1700  // You specify which version of a model version to use by using the ProjectVersionArn
  1701  // input parameter.
  1702  //
  1703  // You pass the input image as base64-encoded image bytes or as a reference
  1704  // to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon
  1705  // Rekognition operations, passing image bytes is not supported. The image must
  1706  // be either a PNG or JPEG formatted file.
  1707  //
  1708  // For each object that the model version detects on an image, the API returns
  1709  // a (CustomLabel) object in an array (CustomLabels). Each CustomLabel object
  1710  // provides the label name (Name), the level of confidence that the image contains
  1711  // the object (Confidence), and object location information, if it exists, for
  1712  // the label on the image (Geometry).
  1713  //
  1714  // To filter labels that are returned, specify a value for MinConfidence. DetectCustomLabelsLabels
  1715  // only returns labels with a confidence that's higher than the specified value.
  1716  // The value of MinConfidence maps to the assumed threshold values created during
  1717  // training. For more information, see Assumed threshold in the Amazon Rekognition
  1718  // Custom Labels Developer Guide. Amazon Rekognition Custom Labels metrics expresses
  1719  // an assumed threshold as a floating point value between 0-1. The range of
  1720  // MinConfidence normalizes the threshold value to a percentage value (0-100).
  1721  // Confidence responses from DetectCustomLabels are also returned as a percentage.
  1722  // You can use MinConfidence to change the precision and recall or your model.
  1723  // For more information, see Analyzing an image in the Amazon Rekognition Custom
  1724  // Labels Developer Guide.
  1725  //
  1726  // If you don't specify a value for MinConfidence, DetectCustomLabels returns
  1727  // labels based on the assumed threshold of each label.
  1728  //
  1729  // This is a stateless API operation. That is, the operation does not persist
  1730  // any data.
  1731  //
  1732  // This operation requires permissions to perform the rekognition:DetectCustomLabels
  1733  // action.
  1734  //
  1735  // For more information, see Analyzing an image in the Amazon Rekognition Custom
  1736  // Labels Developer Guide.
  1737  //
  1738  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1739  // with awserr.Error's Code and Message methods to get detailed information about
  1740  // the error.
  1741  //
  1742  // See the AWS API reference guide for Amazon Rekognition's
  1743  // API operation DetectCustomLabels for usage and error information.
  1744  //
  1745  // Returned Error Types:
  1746  //   * ResourceNotFoundException
  1747  //   The resource specified in the request cannot be found.
  1748  //
  1749  //   * ResourceNotReadyException
  1750  //   The requested resource isn't ready. For example, this exception occurs when
  1751  //   you call DetectCustomLabels with a model version that isn't deployed.
  1752  //
  1753  //   * InvalidS3ObjectException
  1754  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  1755  //
  1756  //   * InvalidParameterException
  1757  //   Input parameter violated a constraint. Validate your parameter before calling
  1758  //   the API operation again.
  1759  //
  1760  //   * ImageTooLargeException
  1761  //   The input image size exceeds the allowed limit. If you are calling DetectProtectiveEquipment,
  1762  //   the image size or resolution exceeds the allowed limit. For more information,
  1763  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
  1764  //
  1765  //   * LimitExceededException
  1766  //   An Amazon Rekognition service limit was exceeded. For example, if you start
  1767  //   too many Amazon Rekognition Video jobs concurrently, calls to start operations
  1768  //   (StartLabelDetection, for example) will raise a LimitExceededException exception
  1769  //   (HTTP status code: 400) until the number of concurrently running jobs is
  1770  //   below the Amazon Rekognition service limit.
  1771  //
  1772  //   * AccessDeniedException
  1773  //   You are not authorized to perform the action.
  1774  //
  1775  //   * InternalServerError
  1776  //   Amazon Rekognition experienced a service issue. Try your call again.
  1777  //
  1778  //   * ThrottlingException
  1779  //   Amazon Rekognition is temporarily unable to process the request. Try your
  1780  //   call again.
  1781  //
  1782  //   * ProvisionedThroughputExceededException
  1783  //   The number of requests exceeded your throughput limit. If you want to increase
  1784  //   this limit, contact Amazon Rekognition.
  1785  //
  1786  //   * InvalidImageFormatException
  1787  //   The provided image format is not supported.
  1788  //
  1789  func (c *Rekognition) DetectCustomLabels(input *DetectCustomLabelsInput) (*DetectCustomLabelsOutput, error) {
  1790  	req, out := c.DetectCustomLabelsRequest(input)
  1791  	return out, req.Send()
  1792  }
  1793  
  1794  // DetectCustomLabelsWithContext is the same as DetectCustomLabels with the addition of
  1795  // the ability to pass a context and additional request options.
  1796  //
  1797  // See DetectCustomLabels for details on how to use this API operation.
  1798  //
  1799  // The context must be non-nil and will be used for request cancellation. If
  1800  // the context is nil a panic will occur. In the future the SDK may create
  1801  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1802  // for more information on using Contexts.
  1803  func (c *Rekognition) DetectCustomLabelsWithContext(ctx aws.Context, input *DetectCustomLabelsInput, opts ...request.Option) (*DetectCustomLabelsOutput, error) {
  1804  	req, out := c.DetectCustomLabelsRequest(input)
  1805  	req.SetContext(ctx)
  1806  	req.ApplyOptions(opts...)
  1807  	return out, req.Send()
  1808  }
  1809  
  1810  const opDetectFaces = "DetectFaces"
  1811  
  1812  // DetectFacesRequest generates a "aws/request.Request" representing the
  1813  // client's request for the DetectFaces operation. The "output" return
  1814  // value will be populated with the request's response once the request completes
  1815  // successfully.
  1816  //
  1817  // Use "Send" method on the returned Request to send the API call to the service.
  1818  // the "output" return value is not valid until after Send returns without error.
  1819  //
  1820  // See DetectFaces for more information on using the DetectFaces
  1821  // API call, and error handling.
  1822  //
  1823  // This method is useful when you want to inject custom logic or configuration
  1824  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1825  //
  1826  //
  1827  //    // Example sending a request using the DetectFacesRequest method.
  1828  //    req, resp := client.DetectFacesRequest(params)
  1829  //
  1830  //    err := req.Send()
  1831  //    if err == nil { // resp is now filled
  1832  //        fmt.Println(resp)
  1833  //    }
  1834  func (c *Rekognition) DetectFacesRequest(input *DetectFacesInput) (req *request.Request, output *DetectFacesOutput) {
  1835  	op := &request.Operation{
  1836  		Name:       opDetectFaces,
  1837  		HTTPMethod: "POST",
  1838  		HTTPPath:   "/",
  1839  	}
  1840  
  1841  	if input == nil {
  1842  		input = &DetectFacesInput{}
  1843  	}
  1844  
  1845  	output = &DetectFacesOutput{}
  1846  	req = c.newRequest(op, input, output)
  1847  	return
  1848  }
  1849  
  1850  // DetectFaces API operation for Amazon Rekognition.
  1851  //
  1852  // Detects faces within an image that is provided as input.
  1853  //
  1854  // DetectFaces detects the 100 largest faces in the image. For each face detected,
  1855  // the operation returns face details. These details include a bounding box
  1856  // of the face, a confidence value (that the bounding box contains a face),
  1857  // and a fixed set of attributes such as facial landmarks (for example, coordinates
  1858  // of eye and mouth), presence of beard, sunglasses, and so on.
  1859  //
  1860  // The face-detection algorithm is most effective on frontal faces. For non-frontal
  1861  // or obscured faces, the algorithm might not detect the faces or might detect
  1862  // faces with lower confidence.
  1863  //
  1864  // You pass the input image either as base64-encoded image bytes or as a reference
  1865  // to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon
  1866  // Rekognition operations, passing image bytes is not supported. The image must
  1867  // be either a PNG or JPEG formatted file.
  1868  //
  1869  // This is a stateless API operation. That is, the operation does not persist
  1870  // any data.
  1871  //
  1872  // This operation requires permissions to perform the rekognition:DetectFaces
  1873  // action.
  1874  //
  1875  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1876  // with awserr.Error's Code and Message methods to get detailed information about
  1877  // the error.
  1878  //
  1879  // See the AWS API reference guide for Amazon Rekognition's
  1880  // API operation DetectFaces for usage and error information.
  1881  //
  1882  // Returned Error Types:
  1883  //   * InvalidS3ObjectException
  1884  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  1885  //
  1886  //   * InvalidParameterException
  1887  //   Input parameter violated a constraint. Validate your parameter before calling
  1888  //   the API operation again.
  1889  //
  1890  //   * ImageTooLargeException
  1891  //   The input image size exceeds the allowed limit. If you are calling DetectProtectiveEquipment,
  1892  //   the image size or resolution exceeds the allowed limit. For more information,
  1893  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
  1894  //
  1895  //   * AccessDeniedException
  1896  //   You are not authorized to perform the action.
  1897  //
  1898  //   * InternalServerError
  1899  //   Amazon Rekognition experienced a service issue. Try your call again.
  1900  //
  1901  //   * ThrottlingException
  1902  //   Amazon Rekognition is temporarily unable to process the request. Try your
  1903  //   call again.
  1904  //
  1905  //   * ProvisionedThroughputExceededException
  1906  //   The number of requests exceeded your throughput limit. If you want to increase
  1907  //   this limit, contact Amazon Rekognition.
  1908  //
  1909  //   * InvalidImageFormatException
  1910  //   The provided image format is not supported.
  1911  //
  1912  func (c *Rekognition) DetectFaces(input *DetectFacesInput) (*DetectFacesOutput, error) {
  1913  	req, out := c.DetectFacesRequest(input)
  1914  	return out, req.Send()
  1915  }
  1916  
  1917  // DetectFacesWithContext is the same as DetectFaces with the addition of
  1918  // the ability to pass a context and additional request options.
  1919  //
  1920  // See DetectFaces for details on how to use this API operation.
  1921  //
  1922  // The context must be non-nil and will be used for request cancellation. If
  1923  // the context is nil a panic will occur. In the future the SDK may create
  1924  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1925  // for more information on using Contexts.
  1926  func (c *Rekognition) DetectFacesWithContext(ctx aws.Context, input *DetectFacesInput, opts ...request.Option) (*DetectFacesOutput, error) {
  1927  	req, out := c.DetectFacesRequest(input)
  1928  	req.SetContext(ctx)
  1929  	req.ApplyOptions(opts...)
  1930  	return out, req.Send()
  1931  }
  1932  
  1933  const opDetectLabels = "DetectLabels"
  1934  
  1935  // DetectLabelsRequest generates a "aws/request.Request" representing the
  1936  // client's request for the DetectLabels operation. The "output" return
  1937  // value will be populated with the request's response once the request completes
  1938  // successfully.
  1939  //
  1940  // Use "Send" method on the returned Request to send the API call to the service.
  1941  // the "output" return value is not valid until after Send returns without error.
  1942  //
  1943  // See DetectLabels for more information on using the DetectLabels
  1944  // API call, and error handling.
  1945  //
  1946  // This method is useful when you want to inject custom logic or configuration
  1947  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1948  //
  1949  //
  1950  //    // Example sending a request using the DetectLabelsRequest method.
  1951  //    req, resp := client.DetectLabelsRequest(params)
  1952  //
  1953  //    err := req.Send()
  1954  //    if err == nil { // resp is now filled
  1955  //        fmt.Println(resp)
  1956  //    }
  1957  func (c *Rekognition) DetectLabelsRequest(input *DetectLabelsInput) (req *request.Request, output *DetectLabelsOutput) {
  1958  	op := &request.Operation{
  1959  		Name:       opDetectLabels,
  1960  		HTTPMethod: "POST",
  1961  		HTTPPath:   "/",
  1962  	}
  1963  
  1964  	if input == nil {
  1965  		input = &DetectLabelsInput{}
  1966  	}
  1967  
  1968  	output = &DetectLabelsOutput{}
  1969  	req = c.newRequest(op, input, output)
  1970  	return
  1971  }
  1972  
  1973  // DetectLabels API operation for Amazon Rekognition.
  1974  //
  1975  // Detects instances of real-world entities within an image (JPEG or PNG) provided
  1976  // as input. This includes objects like flower, tree, and table; events like
  1977  // wedding, graduation, and birthday party; and concepts like landscape, evening,
  1978  // and nature.
  1979  //
  1980  // For an example, see Analyzing Images Stored in an Amazon S3 Bucket in the
  1981  // Amazon Rekognition Developer Guide.
  1982  //
  1983  // DetectLabels does not support the detection of activities. However, activity
  1984  // detection is supported for label detection in videos. For more information,
  1985  // see StartLabelDetection in the Amazon Rekognition Developer Guide.
  1986  //
  1987  // You pass the input image as base64-encoded image bytes or as a reference
  1988  // to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon
  1989  // Rekognition operations, passing image bytes is not supported. The image must
  1990  // be either a PNG or JPEG formatted file.
  1991  //
  1992  // For each object, scene, and concept the API returns one or more labels. Each
  1993  // label provides the object name, and the level of confidence that the image
  1994  // contains the object. For example, suppose the input image has a lighthouse,
  1995  // the sea, and a rock. The response includes all three labels, one for each
  1996  // object.
  1997  //
  1998  // {Name: lighthouse, Confidence: 98.4629}
  1999  //
  2000  // {Name: rock,Confidence: 79.2097}
  2001  //
  2002  // {Name: sea,Confidence: 75.061}
  2003  //
  2004  // In the preceding example, the operation returns one label for each of the
  2005  // three objects. The operation can also return multiple labels for the same
  2006  // object in the image. For example, if the input image shows a flower (for
  2007  // example, a tulip), the operation might return the following three labels.
  2008  //
  2009  // {Name: flower,Confidence: 99.0562}
  2010  //
  2011  // {Name: plant,Confidence: 99.0562}
  2012  //
  2013  // {Name: tulip,Confidence: 99.0562}
  2014  //
  2015  // In this example, the detection algorithm more precisely identifies the flower
  2016  // as a tulip.
  2017  //
  2018  // In response, the API returns an array of labels. In addition, the response
  2019  // also includes the orientation correction. Optionally, you can specify MinConfidence
  2020  // to control the confidence threshold for the labels returned. The default
  2021  // is 55%. You can also add the MaxLabels parameter to limit the number of labels
  2022  // returned.
  2023  //
  2024  // If the object detected is a person, the operation doesn't provide the same
  2025  // facial details that the DetectFaces operation provides.
  2026  //
  2027  // DetectLabels returns bounding boxes for instances of common object labels
  2028  // in an array of Instance objects. An Instance object contains a BoundingBox
  2029  // object, for the location of the label on the image. It also includes the
  2030  // confidence by which the bounding box was detected.
  2031  //
  2032  // DetectLabels also returns a hierarchical taxonomy of detected labels. For
  2033  // example, a detected car might be assigned the label car. The label car has
  2034  // two parent labels: Vehicle (its parent) and Transportation (its grandparent).
  2035  // The response returns the entire list of ancestors for a label. Each ancestor
  2036  // is a unique label in the response. In the previous example, Car, Vehicle,
  2037  // and Transportation are returned as unique labels in the response.
  2038  //
  2039  // This is a stateless API operation. That is, the operation does not persist
  2040  // any data.
  2041  //
  2042  // This operation requires permissions to perform the rekognition:DetectLabels
  2043  // action.
  2044  //
  2045  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2046  // with awserr.Error's Code and Message methods to get detailed information about
  2047  // the error.
  2048  //
  2049  // See the AWS API reference guide for Amazon Rekognition's
  2050  // API operation DetectLabels for usage and error information.
  2051  //
  2052  // Returned Error Types:
  2053  //   * InvalidS3ObjectException
  2054  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  2055  //
  2056  //   * InvalidParameterException
  2057  //   Input parameter violated a constraint. Validate your parameter before calling
  2058  //   the API operation again.
  2059  //
  2060  //   * ImageTooLargeException
  2061  //   The input image size exceeds the allowed limit. If you are calling DetectProtectiveEquipment,
  2062  //   the image size or resolution exceeds the allowed limit. For more information,
  2063  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
  2064  //
  2065  //   * AccessDeniedException
  2066  //   You are not authorized to perform the action.
  2067  //
  2068  //   * InternalServerError
  2069  //   Amazon Rekognition experienced a service issue. Try your call again.
  2070  //
  2071  //   * ThrottlingException
  2072  //   Amazon Rekognition is temporarily unable to process the request. Try your
  2073  //   call again.
  2074  //
  2075  //   * ProvisionedThroughputExceededException
  2076  //   The number of requests exceeded your throughput limit. If you want to increase
  2077  //   this limit, contact Amazon Rekognition.
  2078  //
  2079  //   * InvalidImageFormatException
  2080  //   The provided image format is not supported.
  2081  //
  2082  func (c *Rekognition) DetectLabels(input *DetectLabelsInput) (*DetectLabelsOutput, error) {
  2083  	req, out := c.DetectLabelsRequest(input)
  2084  	return out, req.Send()
  2085  }
  2086  
  2087  // DetectLabelsWithContext is the same as DetectLabels with the addition of
  2088  // the ability to pass a context and additional request options.
  2089  //
  2090  // See DetectLabels for details on how to use this API operation.
  2091  //
  2092  // The context must be non-nil and will be used for request cancellation. If
  2093  // the context is nil a panic will occur. In the future the SDK may create
  2094  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2095  // for more information on using Contexts.
  2096  func (c *Rekognition) DetectLabelsWithContext(ctx aws.Context, input *DetectLabelsInput, opts ...request.Option) (*DetectLabelsOutput, error) {
  2097  	req, out := c.DetectLabelsRequest(input)
  2098  	req.SetContext(ctx)
  2099  	req.ApplyOptions(opts...)
  2100  	return out, req.Send()
  2101  }
  2102  
  2103  const opDetectModerationLabels = "DetectModerationLabels"
  2104  
  2105  // DetectModerationLabelsRequest generates a "aws/request.Request" representing the
  2106  // client's request for the DetectModerationLabels operation. The "output" return
  2107  // value will be populated with the request's response once the request completes
  2108  // successfully.
  2109  //
  2110  // Use "Send" method on the returned Request to send the API call to the service.
  2111  // the "output" return value is not valid until after Send returns without error.
  2112  //
  2113  // See DetectModerationLabels for more information on using the DetectModerationLabels
  2114  // API call, and error handling.
  2115  //
  2116  // This method is useful when you want to inject custom logic or configuration
  2117  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2118  //
  2119  //
  2120  //    // Example sending a request using the DetectModerationLabelsRequest method.
  2121  //    req, resp := client.DetectModerationLabelsRequest(params)
  2122  //
  2123  //    err := req.Send()
  2124  //    if err == nil { // resp is now filled
  2125  //        fmt.Println(resp)
  2126  //    }
  2127  func (c *Rekognition) DetectModerationLabelsRequest(input *DetectModerationLabelsInput) (req *request.Request, output *DetectModerationLabelsOutput) {
  2128  	op := &request.Operation{
  2129  		Name:       opDetectModerationLabels,
  2130  		HTTPMethod: "POST",
  2131  		HTTPPath:   "/",
  2132  	}
  2133  
  2134  	if input == nil {
  2135  		input = &DetectModerationLabelsInput{}
  2136  	}
  2137  
  2138  	output = &DetectModerationLabelsOutput{}
  2139  	req = c.newRequest(op, input, output)
  2140  	return
  2141  }
  2142  
  2143  // DetectModerationLabels API operation for Amazon Rekognition.
  2144  //
  2145  // Detects unsafe content in a specified JPEG or PNG format image. Use DetectModerationLabels
  2146  // to moderate images depending on your requirements. For example, you might
  2147  // want to filter images that contain nudity, but not images containing suggestive
  2148  // content.
  2149  //
  2150  // To filter images, use the labels returned by DetectModerationLabels to determine
  2151  // which types of content are appropriate.
  2152  //
  2153  // For information about moderation labels, see Detecting Unsafe Content in
  2154  // the Amazon Rekognition Developer Guide.
  2155  //
  2156  // You pass the input image either as base64-encoded image bytes or as a reference
  2157  // to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon
  2158  // Rekognition operations, passing image bytes is not supported. The image must
  2159  // be either a PNG or JPEG formatted file.
  2160  //
  2161  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2162  // with awserr.Error's Code and Message methods to get detailed information about
  2163  // the error.
  2164  //
  2165  // See the AWS API reference guide for Amazon Rekognition's
  2166  // API operation DetectModerationLabels for usage and error information.
  2167  //
  2168  // Returned Error Types:
  2169  //   * InvalidS3ObjectException
  2170  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  2171  //
  2172  //   * InvalidParameterException
  2173  //   Input parameter violated a constraint. Validate your parameter before calling
  2174  //   the API operation again.
  2175  //
  2176  //   * ImageTooLargeException
  2177  //   The input image size exceeds the allowed limit. If you are calling DetectProtectiveEquipment,
  2178  //   the image size or resolution exceeds the allowed limit. For more information,
  2179  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
  2180  //
  2181  //   * AccessDeniedException
  2182  //   You are not authorized to perform the action.
  2183  //
  2184  //   * InternalServerError
  2185  //   Amazon Rekognition experienced a service issue. Try your call again.
  2186  //
  2187  //   * ThrottlingException
  2188  //   Amazon Rekognition is temporarily unable to process the request. Try your
  2189  //   call again.
  2190  //
  2191  //   * ProvisionedThroughputExceededException
  2192  //   The number of requests exceeded your throughput limit. If you want to increase
  2193  //   this limit, contact Amazon Rekognition.
  2194  //
  2195  //   * InvalidImageFormatException
  2196  //   The provided image format is not supported.
  2197  //
  2198  //   * HumanLoopQuotaExceededException
  2199  //   The number of in-progress human reviews you have has exceeded the number
  2200  //   allowed.
  2201  //
  2202  func (c *Rekognition) DetectModerationLabels(input *DetectModerationLabelsInput) (*DetectModerationLabelsOutput, error) {
  2203  	req, out := c.DetectModerationLabelsRequest(input)
  2204  	return out, req.Send()
  2205  }
  2206  
  2207  // DetectModerationLabelsWithContext is the same as DetectModerationLabels with the addition of
  2208  // the ability to pass a context and additional request options.
  2209  //
  2210  // See DetectModerationLabels for details on how to use this API operation.
  2211  //
  2212  // The context must be non-nil and will be used for request cancellation. If
  2213  // the context is nil a panic will occur. In the future the SDK may create
  2214  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2215  // for more information on using Contexts.
  2216  func (c *Rekognition) DetectModerationLabelsWithContext(ctx aws.Context, input *DetectModerationLabelsInput, opts ...request.Option) (*DetectModerationLabelsOutput, error) {
  2217  	req, out := c.DetectModerationLabelsRequest(input)
  2218  	req.SetContext(ctx)
  2219  	req.ApplyOptions(opts...)
  2220  	return out, req.Send()
  2221  }
  2222  
  2223  const opDetectProtectiveEquipment = "DetectProtectiveEquipment"
  2224  
  2225  // DetectProtectiveEquipmentRequest generates a "aws/request.Request" representing the
  2226  // client's request for the DetectProtectiveEquipment operation. The "output" return
  2227  // value will be populated with the request's response once the request completes
  2228  // successfully.
  2229  //
  2230  // Use "Send" method on the returned Request to send the API call to the service.
  2231  // the "output" return value is not valid until after Send returns without error.
  2232  //
  2233  // See DetectProtectiveEquipment for more information on using the DetectProtectiveEquipment
  2234  // API call, and error handling.
  2235  //
  2236  // This method is useful when you want to inject custom logic or configuration
  2237  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2238  //
  2239  //
  2240  //    // Example sending a request using the DetectProtectiveEquipmentRequest method.
  2241  //    req, resp := client.DetectProtectiveEquipmentRequest(params)
  2242  //
  2243  //    err := req.Send()
  2244  //    if err == nil { // resp is now filled
  2245  //        fmt.Println(resp)
  2246  //    }
  2247  func (c *Rekognition) DetectProtectiveEquipmentRequest(input *DetectProtectiveEquipmentInput) (req *request.Request, output *DetectProtectiveEquipmentOutput) {
  2248  	op := &request.Operation{
  2249  		Name:       opDetectProtectiveEquipment,
  2250  		HTTPMethod: "POST",
  2251  		HTTPPath:   "/",
  2252  	}
  2253  
  2254  	if input == nil {
  2255  		input = &DetectProtectiveEquipmentInput{}
  2256  	}
  2257  
  2258  	output = &DetectProtectiveEquipmentOutput{}
  2259  	req = c.newRequest(op, input, output)
  2260  	return
  2261  }
  2262  
  2263  // DetectProtectiveEquipment API operation for Amazon Rekognition.
  2264  //
  2265  // Detects Personal Protective Equipment (PPE) worn by people detected in an
  2266  // image. Amazon Rekognition can detect the following types of PPE.
  2267  //
  2268  //    * Face cover
  2269  //
  2270  //    * Hand cover
  2271  //
  2272  //    * Head cover
  2273  //
  2274  // You pass the input image as base64-encoded image bytes or as a reference
  2275  // to an image in an Amazon S3 bucket. The image must be either a PNG or JPG
  2276  // formatted file.
  2277  //
  2278  // DetectProtectiveEquipment detects PPE worn by up to 15 persons detected in
  2279  // an image.
  2280  //
  2281  // For each person detected in the image the API returns an array of body parts
  2282  // (face, head, left-hand, right-hand). For each body part, an array of detected
  2283  // items of PPE is returned, including an indicator of whether or not the PPE
  2284  // covers the body part. The API returns the confidence it has in each detection
  2285  // (person, PPE, body part and body part coverage). It also returns a bounding
  2286  // box (BoundingBox) for each detected person and each detected item of PPE.
  2287  //
  2288  // You can optionally request a summary of detected PPE items with the SummarizationAttributes
  2289  // input parameter. The summary provides the following information.
  2290  //
  2291  //    * The persons detected as wearing all of the types of PPE that you specify.
  2292  //
  2293  //    * The persons detected as not wearing all of the types PPE that you specify.
  2294  //
  2295  //    * The persons detected where PPE adornment could not be determined.
  2296  //
  2297  // This is a stateless API operation. That is, the operation does not persist
  2298  // any data.
  2299  //
  2300  // This operation requires permissions to perform the rekognition:DetectProtectiveEquipment
  2301  // action.
  2302  //
  2303  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2304  // with awserr.Error's Code and Message methods to get detailed information about
  2305  // the error.
  2306  //
  2307  // See the AWS API reference guide for Amazon Rekognition's
  2308  // API operation DetectProtectiveEquipment for usage and error information.
  2309  //
  2310  // Returned Error Types:
  2311  //   * InvalidS3ObjectException
  2312  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  2313  //
  2314  //   * InvalidParameterException
  2315  //   Input parameter violated a constraint. Validate your parameter before calling
  2316  //   the API operation again.
  2317  //
  2318  //   * ImageTooLargeException
  2319  //   The input image size exceeds the allowed limit. If you are calling DetectProtectiveEquipment,
  2320  //   the image size or resolution exceeds the allowed limit. For more information,
  2321  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
  2322  //
  2323  //   * AccessDeniedException
  2324  //   You are not authorized to perform the action.
  2325  //
  2326  //   * InternalServerError
  2327  //   Amazon Rekognition experienced a service issue. Try your call again.
  2328  //
  2329  //   * ThrottlingException
  2330  //   Amazon Rekognition is temporarily unable to process the request. Try your
  2331  //   call again.
  2332  //
  2333  //   * ProvisionedThroughputExceededException
  2334  //   The number of requests exceeded your throughput limit. If you want to increase
  2335  //   this limit, contact Amazon Rekognition.
  2336  //
  2337  //   * InvalidImageFormatException
  2338  //   The provided image format is not supported.
  2339  //
  2340  func (c *Rekognition) DetectProtectiveEquipment(input *DetectProtectiveEquipmentInput) (*DetectProtectiveEquipmentOutput, error) {
  2341  	req, out := c.DetectProtectiveEquipmentRequest(input)
  2342  	return out, req.Send()
  2343  }
  2344  
  2345  // DetectProtectiveEquipmentWithContext is the same as DetectProtectiveEquipment with the addition of
  2346  // the ability to pass a context and additional request options.
  2347  //
  2348  // See DetectProtectiveEquipment for details on how to use this API operation.
  2349  //
  2350  // The context must be non-nil and will be used for request cancellation. If
  2351  // the context is nil a panic will occur. In the future the SDK may create
  2352  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2353  // for more information on using Contexts.
  2354  func (c *Rekognition) DetectProtectiveEquipmentWithContext(ctx aws.Context, input *DetectProtectiveEquipmentInput, opts ...request.Option) (*DetectProtectiveEquipmentOutput, error) {
  2355  	req, out := c.DetectProtectiveEquipmentRequest(input)
  2356  	req.SetContext(ctx)
  2357  	req.ApplyOptions(opts...)
  2358  	return out, req.Send()
  2359  }
  2360  
  2361  const opDetectText = "DetectText"
  2362  
  2363  // DetectTextRequest generates a "aws/request.Request" representing the
  2364  // client's request for the DetectText operation. The "output" return
  2365  // value will be populated with the request's response once the request completes
  2366  // successfully.
  2367  //
  2368  // Use "Send" method on the returned Request to send the API call to the service.
  2369  // the "output" return value is not valid until after Send returns without error.
  2370  //
  2371  // See DetectText for more information on using the DetectText
  2372  // API call, and error handling.
  2373  //
  2374  // This method is useful when you want to inject custom logic or configuration
  2375  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2376  //
  2377  //
  2378  //    // Example sending a request using the DetectTextRequest method.
  2379  //    req, resp := client.DetectTextRequest(params)
  2380  //
  2381  //    err := req.Send()
  2382  //    if err == nil { // resp is now filled
  2383  //        fmt.Println(resp)
  2384  //    }
  2385  func (c *Rekognition) DetectTextRequest(input *DetectTextInput) (req *request.Request, output *DetectTextOutput) {
  2386  	op := &request.Operation{
  2387  		Name:       opDetectText,
  2388  		HTTPMethod: "POST",
  2389  		HTTPPath:   "/",
  2390  	}
  2391  
  2392  	if input == nil {
  2393  		input = &DetectTextInput{}
  2394  	}
  2395  
  2396  	output = &DetectTextOutput{}
  2397  	req = c.newRequest(op, input, output)
  2398  	return
  2399  }
  2400  
  2401  // DetectText API operation for Amazon Rekognition.
  2402  //
  2403  // Detects text in the input image and converts it into machine-readable text.
  2404  //
  2405  // Pass the input image as base64-encoded image bytes or as a reference to an
  2406  // image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition
  2407  // operations, you must pass it as a reference to an image in an Amazon S3 bucket.
  2408  // For the AWS CLI, passing image bytes is not supported. The image must be
  2409  // either a .png or .jpeg formatted file.
  2410  //
  2411  // The DetectText operation returns text in an array of TextDetection elements,
  2412  // TextDetections. Each TextDetection element provides information about a single
  2413  // word or line of text that was detected in the image.
  2414  //
  2415  // A word is one or more ISO basic latin script characters that are not separated
  2416  // by spaces. DetectText can detect up to 100 words in an image.
  2417  //
  2418  // A line is a string of equally spaced words. A line isn't necessarily a complete
  2419  // sentence. For example, a driver's license number is detected as a line. A
  2420  // line ends when there is no aligned text after it. Also, a line ends when
  2421  // there is a large gap between words, relative to the length of the words.
  2422  // This means, depending on the gap between words, Amazon Rekognition may detect
  2423  // multiple lines in text aligned in the same direction. Periods don't represent
  2424  // the end of a line. If a sentence spans multiple lines, the DetectText operation
  2425  // returns multiple lines.
  2426  //
  2427  // To determine whether a TextDetection element is a line of text or a word,
  2428  // use the TextDetection object Type field.
  2429  //
  2430  // To be detected, text must be within +/- 90 degrees orientation of the horizontal
  2431  // axis.
  2432  //
  2433  // For more information, see DetectText in the Amazon Rekognition Developer
  2434  // Guide.
  2435  //
  2436  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2437  // with awserr.Error's Code and Message methods to get detailed information about
  2438  // the error.
  2439  //
  2440  // See the AWS API reference guide for Amazon Rekognition's
  2441  // API operation DetectText for usage and error information.
  2442  //
  2443  // Returned Error Types:
  2444  //   * InvalidS3ObjectException
  2445  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  2446  //
  2447  //   * InvalidParameterException
  2448  //   Input parameter violated a constraint. Validate your parameter before calling
  2449  //   the API operation again.
  2450  //
  2451  //   * ImageTooLargeException
  2452  //   The input image size exceeds the allowed limit. If you are calling DetectProtectiveEquipment,
  2453  //   the image size or resolution exceeds the allowed limit. For more information,
  2454  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
  2455  //
  2456  //   * AccessDeniedException
  2457  //   You are not authorized to perform the action.
  2458  //
  2459  //   * InternalServerError
  2460  //   Amazon Rekognition experienced a service issue. Try your call again.
  2461  //
  2462  //   * ThrottlingException
  2463  //   Amazon Rekognition is temporarily unable to process the request. Try your
  2464  //   call again.
  2465  //
  2466  //   * ProvisionedThroughputExceededException
  2467  //   The number of requests exceeded your throughput limit. If you want to increase
  2468  //   this limit, contact Amazon Rekognition.
  2469  //
  2470  //   * InvalidImageFormatException
  2471  //   The provided image format is not supported.
  2472  //
  2473  func (c *Rekognition) DetectText(input *DetectTextInput) (*DetectTextOutput, error) {
  2474  	req, out := c.DetectTextRequest(input)
  2475  	return out, req.Send()
  2476  }
  2477  
  2478  // DetectTextWithContext is the same as DetectText with the addition of
  2479  // the ability to pass a context and additional request options.
  2480  //
  2481  // See DetectText for details on how to use this API operation.
  2482  //
  2483  // The context must be non-nil and will be used for request cancellation. If
  2484  // the context is nil a panic will occur. In the future the SDK may create
  2485  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2486  // for more information on using Contexts.
  2487  func (c *Rekognition) DetectTextWithContext(ctx aws.Context, input *DetectTextInput, opts ...request.Option) (*DetectTextOutput, error) {
  2488  	req, out := c.DetectTextRequest(input)
  2489  	req.SetContext(ctx)
  2490  	req.ApplyOptions(opts...)
  2491  	return out, req.Send()
  2492  }
  2493  
  2494  const opGetCelebrityInfo = "GetCelebrityInfo"
  2495  
  2496  // GetCelebrityInfoRequest generates a "aws/request.Request" representing the
  2497  // client's request for the GetCelebrityInfo operation. The "output" return
  2498  // value will be populated with the request's response once the request completes
  2499  // successfully.
  2500  //
  2501  // Use "Send" method on the returned Request to send the API call to the service.
  2502  // the "output" return value is not valid until after Send returns without error.
  2503  //
  2504  // See GetCelebrityInfo for more information on using the GetCelebrityInfo
  2505  // API call, and error handling.
  2506  //
  2507  // This method is useful when you want to inject custom logic or configuration
  2508  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2509  //
  2510  //
  2511  //    // Example sending a request using the GetCelebrityInfoRequest method.
  2512  //    req, resp := client.GetCelebrityInfoRequest(params)
  2513  //
  2514  //    err := req.Send()
  2515  //    if err == nil { // resp is now filled
  2516  //        fmt.Println(resp)
  2517  //    }
  2518  func (c *Rekognition) GetCelebrityInfoRequest(input *GetCelebrityInfoInput) (req *request.Request, output *GetCelebrityInfoOutput) {
  2519  	op := &request.Operation{
  2520  		Name:       opGetCelebrityInfo,
  2521  		HTTPMethod: "POST",
  2522  		HTTPPath:   "/",
  2523  	}
  2524  
  2525  	if input == nil {
  2526  		input = &GetCelebrityInfoInput{}
  2527  	}
  2528  
  2529  	output = &GetCelebrityInfoOutput{}
  2530  	req = c.newRequest(op, input, output)
  2531  	return
  2532  }
  2533  
  2534  // GetCelebrityInfo API operation for Amazon Rekognition.
  2535  //
  2536  // Gets the name and additional information about a celebrity based on their
  2537  // Amazon Rekognition ID. The additional information is returned as an array
  2538  // of URLs. If there is no additional information about the celebrity, this
  2539  // list is empty.
  2540  //
  2541  // For more information, see Recognizing Celebrities in an Image in the Amazon
  2542  // Rekognition Developer Guide.
  2543  //
  2544  // This operation requires permissions to perform the rekognition:GetCelebrityInfo
  2545  // action.
  2546  //
  2547  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2548  // with awserr.Error's Code and Message methods to get detailed information about
  2549  // the error.
  2550  //
  2551  // See the AWS API reference guide for Amazon Rekognition's
  2552  // API operation GetCelebrityInfo for usage and error information.
  2553  //
  2554  // Returned Error Types:
  2555  //   * InvalidParameterException
  2556  //   Input parameter violated a constraint. Validate your parameter before calling
  2557  //   the API operation again.
  2558  //
  2559  //   * AccessDeniedException
  2560  //   You are not authorized to perform the action.
  2561  //
  2562  //   * InternalServerError
  2563  //   Amazon Rekognition experienced a service issue. Try your call again.
  2564  //
  2565  //   * ThrottlingException
  2566  //   Amazon Rekognition is temporarily unable to process the request. Try your
  2567  //   call again.
  2568  //
  2569  //   * ProvisionedThroughputExceededException
  2570  //   The number of requests exceeded your throughput limit. If you want to increase
  2571  //   this limit, contact Amazon Rekognition.
  2572  //
  2573  //   * ResourceNotFoundException
  2574  //   The resource specified in the request cannot be found.
  2575  //
  2576  func (c *Rekognition) GetCelebrityInfo(input *GetCelebrityInfoInput) (*GetCelebrityInfoOutput, error) {
  2577  	req, out := c.GetCelebrityInfoRequest(input)
  2578  	return out, req.Send()
  2579  }
  2580  
  2581  // GetCelebrityInfoWithContext is the same as GetCelebrityInfo with the addition of
  2582  // the ability to pass a context and additional request options.
  2583  //
  2584  // See GetCelebrityInfo for details on how to use this API operation.
  2585  //
  2586  // The context must be non-nil and will be used for request cancellation. If
  2587  // the context is nil a panic will occur. In the future the SDK may create
  2588  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2589  // for more information on using Contexts.
  2590  func (c *Rekognition) GetCelebrityInfoWithContext(ctx aws.Context, input *GetCelebrityInfoInput, opts ...request.Option) (*GetCelebrityInfoOutput, error) {
  2591  	req, out := c.GetCelebrityInfoRequest(input)
  2592  	req.SetContext(ctx)
  2593  	req.ApplyOptions(opts...)
  2594  	return out, req.Send()
  2595  }
  2596  
  2597  const opGetCelebrityRecognition = "GetCelebrityRecognition"
  2598  
  2599  // GetCelebrityRecognitionRequest generates a "aws/request.Request" representing the
  2600  // client's request for the GetCelebrityRecognition operation. The "output" return
  2601  // value will be populated with the request's response once the request completes
  2602  // successfully.
  2603  //
  2604  // Use "Send" method on the returned Request to send the API call to the service.
  2605  // the "output" return value is not valid until after Send returns without error.
  2606  //
  2607  // See GetCelebrityRecognition for more information on using the GetCelebrityRecognition
  2608  // API call, and error handling.
  2609  //
  2610  // This method is useful when you want to inject custom logic or configuration
  2611  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2612  //
  2613  //
  2614  //    // Example sending a request using the GetCelebrityRecognitionRequest method.
  2615  //    req, resp := client.GetCelebrityRecognitionRequest(params)
  2616  //
  2617  //    err := req.Send()
  2618  //    if err == nil { // resp is now filled
  2619  //        fmt.Println(resp)
  2620  //    }
  2621  func (c *Rekognition) GetCelebrityRecognitionRequest(input *GetCelebrityRecognitionInput) (req *request.Request, output *GetCelebrityRecognitionOutput) {
  2622  	op := &request.Operation{
  2623  		Name:       opGetCelebrityRecognition,
  2624  		HTTPMethod: "POST",
  2625  		HTTPPath:   "/",
  2626  		Paginator: &request.Paginator{
  2627  			InputTokens:     []string{"NextToken"},
  2628  			OutputTokens:    []string{"NextToken"},
  2629  			LimitToken:      "MaxResults",
  2630  			TruncationToken: "",
  2631  		},
  2632  	}
  2633  
  2634  	if input == nil {
  2635  		input = &GetCelebrityRecognitionInput{}
  2636  	}
  2637  
  2638  	output = &GetCelebrityRecognitionOutput{}
  2639  	req = c.newRequest(op, input, output)
  2640  	return
  2641  }
  2642  
  2643  // GetCelebrityRecognition API operation for Amazon Rekognition.
  2644  //
  2645  // Gets the celebrity recognition results for a Amazon Rekognition Video analysis
  2646  // started by StartCelebrityRecognition.
  2647  //
  2648  // Celebrity recognition in a video is an asynchronous operation. Analysis is
  2649  // started by a call to StartCelebrityRecognition which returns a job identifier
  2650  // (JobId). When the celebrity recognition operation finishes, Amazon Rekognition
  2651  // Video publishes a completion status to the Amazon Simple Notification Service
  2652  // topic registered in the initial call to StartCelebrityRecognition. To get
  2653  // the results of the celebrity recognition analysis, first check that the status
  2654  // value published to the Amazon SNS topic is SUCCEEDED. If so, call GetCelebrityDetection
  2655  // and pass the job identifier (JobId) from the initial call to StartCelebrityDetection.
  2656  //
  2657  // For more information, see Working With Stored Videos in the Amazon Rekognition
  2658  // Developer Guide.
  2659  //
  2660  // GetCelebrityRecognition returns detected celebrities and the time(s) they
  2661  // are detected in an array (Celebrities) of CelebrityRecognition objects. Each
  2662  // CelebrityRecognition contains information about the celebrity in a CelebrityDetail
  2663  // object and the time, Timestamp, the celebrity was detected.
  2664  //
  2665  // GetCelebrityRecognition only returns the default facial attributes (BoundingBox,
  2666  // Confidence, Landmarks, Pose, and Quality). The other facial attributes listed
  2667  // in the Face object of the following response syntax are not returned. For
  2668  // more information, see FaceDetail in the Amazon Rekognition Developer Guide.
  2669  //
  2670  // By default, the Celebrities array is sorted by time (milliseconds from the
  2671  // start of the video). You can also sort the array by celebrity by specifying
  2672  // the value ID in the SortBy input parameter.
  2673  //
  2674  // The CelebrityDetail object includes the celebrity identifer and additional
  2675  // information urls. If you don't store the additional information urls, you
  2676  // can get them later by calling GetCelebrityInfo with the celebrity identifer.
  2677  //
  2678  // No information is returned for faces not recognized as celebrities.
  2679  //
  2680  // Use MaxResults parameter to limit the number of labels returned. If there
  2681  // are more results than specified in MaxResults, the value of NextToken in
  2682  // the operation response contains a pagination token for getting the next set
  2683  // of results. To get the next page of results, call GetCelebrityDetection and
  2684  // populate the NextToken request parameter with the token value returned from
  2685  // the previous call to GetCelebrityRecognition.
  2686  //
  2687  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2688  // with awserr.Error's Code and Message methods to get detailed information about
  2689  // the error.
  2690  //
  2691  // See the AWS API reference guide for Amazon Rekognition's
  2692  // API operation GetCelebrityRecognition for usage and error information.
  2693  //
  2694  // Returned Error Types:
  2695  //   * AccessDeniedException
  2696  //   You are not authorized to perform the action.
  2697  //
  2698  //   * InternalServerError
  2699  //   Amazon Rekognition experienced a service issue. Try your call again.
  2700  //
  2701  //   * InvalidParameterException
  2702  //   Input parameter violated a constraint. Validate your parameter before calling
  2703  //   the API operation again.
  2704  //
  2705  //   * InvalidPaginationTokenException
  2706  //   Pagination token in the request is not valid.
  2707  //
  2708  //   * ProvisionedThroughputExceededException
  2709  //   The number of requests exceeded your throughput limit. If you want to increase
  2710  //   this limit, contact Amazon Rekognition.
  2711  //
  2712  //   * ResourceNotFoundException
  2713  //   The resource specified in the request cannot be found.
  2714  //
  2715  //   * ThrottlingException
  2716  //   Amazon Rekognition is temporarily unable to process the request. Try your
  2717  //   call again.
  2718  //
  2719  func (c *Rekognition) GetCelebrityRecognition(input *GetCelebrityRecognitionInput) (*GetCelebrityRecognitionOutput, error) {
  2720  	req, out := c.GetCelebrityRecognitionRequest(input)
  2721  	return out, req.Send()
  2722  }
  2723  
  2724  // GetCelebrityRecognitionWithContext is the same as GetCelebrityRecognition with the addition of
  2725  // the ability to pass a context and additional request options.
  2726  //
  2727  // See GetCelebrityRecognition for details on how to use this API operation.
  2728  //
  2729  // The context must be non-nil and will be used for request cancellation. If
  2730  // the context is nil a panic will occur. In the future the SDK may create
  2731  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2732  // for more information on using Contexts.
  2733  func (c *Rekognition) GetCelebrityRecognitionWithContext(ctx aws.Context, input *GetCelebrityRecognitionInput, opts ...request.Option) (*GetCelebrityRecognitionOutput, error) {
  2734  	req, out := c.GetCelebrityRecognitionRequest(input)
  2735  	req.SetContext(ctx)
  2736  	req.ApplyOptions(opts...)
  2737  	return out, req.Send()
  2738  }
  2739  
  2740  // GetCelebrityRecognitionPages iterates over the pages of a GetCelebrityRecognition operation,
  2741  // calling the "fn" function with the response data for each page. To stop
  2742  // iterating, return false from the fn function.
  2743  //
  2744  // See GetCelebrityRecognition method for more information on how to use this operation.
  2745  //
  2746  // Note: This operation can generate multiple requests to a service.
  2747  //
  2748  //    // Example iterating over at most 3 pages of a GetCelebrityRecognition operation.
  2749  //    pageNum := 0
  2750  //    err := client.GetCelebrityRecognitionPages(params,
  2751  //        func(page *rekognition.GetCelebrityRecognitionOutput, lastPage bool) bool {
  2752  //            pageNum++
  2753  //            fmt.Println(page)
  2754  //            return pageNum <= 3
  2755  //        })
  2756  //
  2757  func (c *Rekognition) GetCelebrityRecognitionPages(input *GetCelebrityRecognitionInput, fn func(*GetCelebrityRecognitionOutput, bool) bool) error {
  2758  	return c.GetCelebrityRecognitionPagesWithContext(aws.BackgroundContext(), input, fn)
  2759  }
  2760  
  2761  // GetCelebrityRecognitionPagesWithContext same as GetCelebrityRecognitionPages except
  2762  // it takes a Context and allows setting request options on the pages.
  2763  //
  2764  // The context must be non-nil and will be used for request cancellation. If
  2765  // the context is nil a panic will occur. In the future the SDK may create
  2766  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2767  // for more information on using Contexts.
  2768  func (c *Rekognition) GetCelebrityRecognitionPagesWithContext(ctx aws.Context, input *GetCelebrityRecognitionInput, fn func(*GetCelebrityRecognitionOutput, bool) bool, opts ...request.Option) error {
  2769  	p := request.Pagination{
  2770  		NewRequest: func() (*request.Request, error) {
  2771  			var inCpy *GetCelebrityRecognitionInput
  2772  			if input != nil {
  2773  				tmp := *input
  2774  				inCpy = &tmp
  2775  			}
  2776  			req, _ := c.GetCelebrityRecognitionRequest(inCpy)
  2777  			req.SetContext(ctx)
  2778  			req.ApplyOptions(opts...)
  2779  			return req, nil
  2780  		},
  2781  	}
  2782  
  2783  	for p.Next() {
  2784  		if !fn(p.Page().(*GetCelebrityRecognitionOutput), !p.HasNextPage()) {
  2785  			break
  2786  		}
  2787  	}
  2788  
  2789  	return p.Err()
  2790  }
  2791  
  2792  const opGetContentModeration = "GetContentModeration"
  2793  
  2794  // GetContentModerationRequest generates a "aws/request.Request" representing the
  2795  // client's request for the GetContentModeration operation. The "output" return
  2796  // value will be populated with the request's response once the request completes
  2797  // successfully.
  2798  //
  2799  // Use "Send" method on the returned Request to send the API call to the service.
  2800  // the "output" return value is not valid until after Send returns without error.
  2801  //
  2802  // See GetContentModeration for more information on using the GetContentModeration
  2803  // API call, and error handling.
  2804  //
  2805  // This method is useful when you want to inject custom logic or configuration
  2806  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2807  //
  2808  //
  2809  //    // Example sending a request using the GetContentModerationRequest method.
  2810  //    req, resp := client.GetContentModerationRequest(params)
  2811  //
  2812  //    err := req.Send()
  2813  //    if err == nil { // resp is now filled
  2814  //        fmt.Println(resp)
  2815  //    }
  2816  func (c *Rekognition) GetContentModerationRequest(input *GetContentModerationInput) (req *request.Request, output *GetContentModerationOutput) {
  2817  	op := &request.Operation{
  2818  		Name:       opGetContentModeration,
  2819  		HTTPMethod: "POST",
  2820  		HTTPPath:   "/",
  2821  		Paginator: &request.Paginator{
  2822  			InputTokens:     []string{"NextToken"},
  2823  			OutputTokens:    []string{"NextToken"},
  2824  			LimitToken:      "MaxResults",
  2825  			TruncationToken: "",
  2826  		},
  2827  	}
  2828  
  2829  	if input == nil {
  2830  		input = &GetContentModerationInput{}
  2831  	}
  2832  
  2833  	output = &GetContentModerationOutput{}
  2834  	req = c.newRequest(op, input, output)
  2835  	return
  2836  }
  2837  
  2838  // GetContentModeration API operation for Amazon Rekognition.
  2839  //
  2840  // Gets the inappropriate, unwanted, or offensive content analysis results for
  2841  // a Amazon Rekognition Video analysis started by StartContentModeration. For
  2842  // a list of moderation labels in Amazon Rekognition, see Using the image and
  2843  // video moderation APIs (https://docs.aws.amazon.com/rekognition/latest/dg/moderation.html#moderation-api).
  2844  //
  2845  // Amazon Rekognition Video inappropriate or offensive content detection in
  2846  // a stored video is an asynchronous operation. You start analysis by calling
  2847  // StartContentModeration which returns a job identifier (JobId). When analysis
  2848  // finishes, Amazon Rekognition Video publishes a completion status to the Amazon
  2849  // Simple Notification Service topic registered in the initial call to StartContentModeration.
  2850  // To get the results of the content analysis, first check that the status value
  2851  // published to the Amazon SNS topic is SUCCEEDED. If so, call GetContentModeration
  2852  // and pass the job identifier (JobId) from the initial call to StartContentModeration.
  2853  //
  2854  // For more information, see Working with Stored Videos in the Amazon Rekognition
  2855  // Devlopers Guide.
  2856  //
  2857  // GetContentModeration returns detected inappropriate, unwanted, or offensive
  2858  // content moderation labels, and the time they are detected, in an array, ModerationLabels,
  2859  // of ContentModerationDetection objects.
  2860  //
  2861  // By default, the moderated labels are returned sorted by time, in milliseconds
  2862  // from the start of the video. You can also sort them by moderated label by
  2863  // specifying NAME for the SortBy input parameter.
  2864  //
  2865  // Since video analysis can return a large number of results, use the MaxResults
  2866  // parameter to limit the number of labels returned in a single call to GetContentModeration.
  2867  // If there are more results than specified in MaxResults, the value of NextToken
  2868  // in the operation response contains a pagination token for getting the next
  2869  // set of results. To get the next page of results, call GetContentModeration
  2870  // and populate the NextToken request parameter with the value of NextToken
  2871  // returned from the previous call to GetContentModeration.
  2872  //
  2873  // For more information, see Content moderation in the Amazon Rekognition Developer
  2874  // Guide.
  2875  //
  2876  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2877  // with awserr.Error's Code and Message methods to get detailed information about
  2878  // the error.
  2879  //
  2880  // See the AWS API reference guide for Amazon Rekognition's
  2881  // API operation GetContentModeration for usage and error information.
  2882  //
  2883  // Returned Error Types:
  2884  //   * AccessDeniedException
  2885  //   You are not authorized to perform the action.
  2886  //
  2887  //   * InternalServerError
  2888  //   Amazon Rekognition experienced a service issue. Try your call again.
  2889  //
  2890  //   * InvalidParameterException
  2891  //   Input parameter violated a constraint. Validate your parameter before calling
  2892  //   the API operation again.
  2893  //
  2894  //   * InvalidPaginationTokenException
  2895  //   Pagination token in the request is not valid.
  2896  //
  2897  //   * ProvisionedThroughputExceededException
  2898  //   The number of requests exceeded your throughput limit. If you want to increase
  2899  //   this limit, contact Amazon Rekognition.
  2900  //
  2901  //   * ResourceNotFoundException
  2902  //   The resource specified in the request cannot be found.
  2903  //
  2904  //   * ThrottlingException
  2905  //   Amazon Rekognition is temporarily unable to process the request. Try your
  2906  //   call again.
  2907  //
  2908  func (c *Rekognition) GetContentModeration(input *GetContentModerationInput) (*GetContentModerationOutput, error) {
  2909  	req, out := c.GetContentModerationRequest(input)
  2910  	return out, req.Send()
  2911  }
  2912  
  2913  // GetContentModerationWithContext is the same as GetContentModeration with the addition of
  2914  // the ability to pass a context and additional request options.
  2915  //
  2916  // See GetContentModeration for details on how to use this API operation.
  2917  //
  2918  // The context must be non-nil and will be used for request cancellation. If
  2919  // the context is nil a panic will occur. In the future the SDK may create
  2920  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2921  // for more information on using Contexts.
  2922  func (c *Rekognition) GetContentModerationWithContext(ctx aws.Context, input *GetContentModerationInput, opts ...request.Option) (*GetContentModerationOutput, error) {
  2923  	req, out := c.GetContentModerationRequest(input)
  2924  	req.SetContext(ctx)
  2925  	req.ApplyOptions(opts...)
  2926  	return out, req.Send()
  2927  }
  2928  
  2929  // GetContentModerationPages iterates over the pages of a GetContentModeration operation,
  2930  // calling the "fn" function with the response data for each page. To stop
  2931  // iterating, return false from the fn function.
  2932  //
  2933  // See GetContentModeration method for more information on how to use this operation.
  2934  //
  2935  // Note: This operation can generate multiple requests to a service.
  2936  //
  2937  //    // Example iterating over at most 3 pages of a GetContentModeration operation.
  2938  //    pageNum := 0
  2939  //    err := client.GetContentModerationPages(params,
  2940  //        func(page *rekognition.GetContentModerationOutput, lastPage bool) bool {
  2941  //            pageNum++
  2942  //            fmt.Println(page)
  2943  //            return pageNum <= 3
  2944  //        })
  2945  //
  2946  func (c *Rekognition) GetContentModerationPages(input *GetContentModerationInput, fn func(*GetContentModerationOutput, bool) bool) error {
  2947  	return c.GetContentModerationPagesWithContext(aws.BackgroundContext(), input, fn)
  2948  }
  2949  
  2950  // GetContentModerationPagesWithContext same as GetContentModerationPages except
  2951  // it takes a Context and allows setting request options on the pages.
  2952  //
  2953  // The context must be non-nil and will be used for request cancellation. If
  2954  // the context is nil a panic will occur. In the future the SDK may create
  2955  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2956  // for more information on using Contexts.
  2957  func (c *Rekognition) GetContentModerationPagesWithContext(ctx aws.Context, input *GetContentModerationInput, fn func(*GetContentModerationOutput, bool) bool, opts ...request.Option) error {
  2958  	p := request.Pagination{
  2959  		NewRequest: func() (*request.Request, error) {
  2960  			var inCpy *GetContentModerationInput
  2961  			if input != nil {
  2962  				tmp := *input
  2963  				inCpy = &tmp
  2964  			}
  2965  			req, _ := c.GetContentModerationRequest(inCpy)
  2966  			req.SetContext(ctx)
  2967  			req.ApplyOptions(opts...)
  2968  			return req, nil
  2969  		},
  2970  	}
  2971  
  2972  	for p.Next() {
  2973  		if !fn(p.Page().(*GetContentModerationOutput), !p.HasNextPage()) {
  2974  			break
  2975  		}
  2976  	}
  2977  
  2978  	return p.Err()
  2979  }
  2980  
  2981  const opGetFaceDetection = "GetFaceDetection"
  2982  
  2983  // GetFaceDetectionRequest generates a "aws/request.Request" representing the
  2984  // client's request for the GetFaceDetection operation. The "output" return
  2985  // value will be populated with the request's response once the request completes
  2986  // successfully.
  2987  //
  2988  // Use "Send" method on the returned Request to send the API call to the service.
  2989  // the "output" return value is not valid until after Send returns without error.
  2990  //
  2991  // See GetFaceDetection for more information on using the GetFaceDetection
  2992  // API call, and error handling.
  2993  //
  2994  // This method is useful when you want to inject custom logic or configuration
  2995  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2996  //
  2997  //
  2998  //    // Example sending a request using the GetFaceDetectionRequest method.
  2999  //    req, resp := client.GetFaceDetectionRequest(params)
  3000  //
  3001  //    err := req.Send()
  3002  //    if err == nil { // resp is now filled
  3003  //        fmt.Println(resp)
  3004  //    }
  3005  func (c *Rekognition) GetFaceDetectionRequest(input *GetFaceDetectionInput) (req *request.Request, output *GetFaceDetectionOutput) {
  3006  	op := &request.Operation{
  3007  		Name:       opGetFaceDetection,
  3008  		HTTPMethod: "POST",
  3009  		HTTPPath:   "/",
  3010  		Paginator: &request.Paginator{
  3011  			InputTokens:     []string{"NextToken"},
  3012  			OutputTokens:    []string{"NextToken"},
  3013  			LimitToken:      "MaxResults",
  3014  			TruncationToken: "",
  3015  		},
  3016  	}
  3017  
  3018  	if input == nil {
  3019  		input = &GetFaceDetectionInput{}
  3020  	}
  3021  
  3022  	output = &GetFaceDetectionOutput{}
  3023  	req = c.newRequest(op, input, output)
  3024  	return
  3025  }
  3026  
  3027  // GetFaceDetection API operation for Amazon Rekognition.
  3028  //
  3029  // Gets face detection results for a Amazon Rekognition Video analysis started
  3030  // by StartFaceDetection.
  3031  //
  3032  // Face detection with Amazon Rekognition Video is an asynchronous operation.
  3033  // You start face detection by calling StartFaceDetection which returns a job
  3034  // identifier (JobId). When the face detection operation finishes, Amazon Rekognition
  3035  // Video publishes a completion status to the Amazon Simple Notification Service
  3036  // topic registered in the initial call to StartFaceDetection. To get the results
  3037  // of the face detection operation, first check that the status value published
  3038  // to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceDetection and pass
  3039  // the job identifier (JobId) from the initial call to StartFaceDetection.
  3040  //
  3041  // GetFaceDetection returns an array of detected faces (Faces) sorted by the
  3042  // time the faces were detected.
  3043  //
  3044  // Use MaxResults parameter to limit the number of labels returned. If there
  3045  // are more results than specified in MaxResults, the value of NextToken in
  3046  // the operation response contains a pagination token for getting the next set
  3047  // of results. To get the next page of results, call GetFaceDetection and populate
  3048  // the NextToken request parameter with the token value returned from the previous
  3049  // call to GetFaceDetection.
  3050  //
  3051  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3052  // with awserr.Error's Code and Message methods to get detailed information about
  3053  // the error.
  3054  //
  3055  // See the AWS API reference guide for Amazon Rekognition's
  3056  // API operation GetFaceDetection for usage and error information.
  3057  //
  3058  // Returned Error Types:
  3059  //   * AccessDeniedException
  3060  //   You are not authorized to perform the action.
  3061  //
  3062  //   * InternalServerError
  3063  //   Amazon Rekognition experienced a service issue. Try your call again.
  3064  //
  3065  //   * InvalidParameterException
  3066  //   Input parameter violated a constraint. Validate your parameter before calling
  3067  //   the API operation again.
  3068  //
  3069  //   * InvalidPaginationTokenException
  3070  //   Pagination token in the request is not valid.
  3071  //
  3072  //   * ProvisionedThroughputExceededException
  3073  //   The number of requests exceeded your throughput limit. If you want to increase
  3074  //   this limit, contact Amazon Rekognition.
  3075  //
  3076  //   * ResourceNotFoundException
  3077  //   The resource specified in the request cannot be found.
  3078  //
  3079  //   * ThrottlingException
  3080  //   Amazon Rekognition is temporarily unable to process the request. Try your
  3081  //   call again.
  3082  //
  3083  func (c *Rekognition) GetFaceDetection(input *GetFaceDetectionInput) (*GetFaceDetectionOutput, error) {
  3084  	req, out := c.GetFaceDetectionRequest(input)
  3085  	return out, req.Send()
  3086  }
  3087  
  3088  // GetFaceDetectionWithContext is the same as GetFaceDetection with the addition of
  3089  // the ability to pass a context and additional request options.
  3090  //
  3091  // See GetFaceDetection for details on how to use this API operation.
  3092  //
  3093  // The context must be non-nil and will be used for request cancellation. If
  3094  // the context is nil a panic will occur. In the future the SDK may create
  3095  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3096  // for more information on using Contexts.
  3097  func (c *Rekognition) GetFaceDetectionWithContext(ctx aws.Context, input *GetFaceDetectionInput, opts ...request.Option) (*GetFaceDetectionOutput, error) {
  3098  	req, out := c.GetFaceDetectionRequest(input)
  3099  	req.SetContext(ctx)
  3100  	req.ApplyOptions(opts...)
  3101  	return out, req.Send()
  3102  }
  3103  
  3104  // GetFaceDetectionPages iterates over the pages of a GetFaceDetection operation,
  3105  // calling the "fn" function with the response data for each page. To stop
  3106  // iterating, return false from the fn function.
  3107  //
  3108  // See GetFaceDetection method for more information on how to use this operation.
  3109  //
  3110  // Note: This operation can generate multiple requests to a service.
  3111  //
  3112  //    // Example iterating over at most 3 pages of a GetFaceDetection operation.
  3113  //    pageNum := 0
  3114  //    err := client.GetFaceDetectionPages(params,
  3115  //        func(page *rekognition.GetFaceDetectionOutput, lastPage bool) bool {
  3116  //            pageNum++
  3117  //            fmt.Println(page)
  3118  //            return pageNum <= 3
  3119  //        })
  3120  //
  3121  func (c *Rekognition) GetFaceDetectionPages(input *GetFaceDetectionInput, fn func(*GetFaceDetectionOutput, bool) bool) error {
  3122  	return c.GetFaceDetectionPagesWithContext(aws.BackgroundContext(), input, fn)
  3123  }
  3124  
  3125  // GetFaceDetectionPagesWithContext same as GetFaceDetectionPages except
  3126  // it takes a Context and allows setting request options on the pages.
  3127  //
  3128  // The context must be non-nil and will be used for request cancellation. If
  3129  // the context is nil a panic will occur. In the future the SDK may create
  3130  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3131  // for more information on using Contexts.
  3132  func (c *Rekognition) GetFaceDetectionPagesWithContext(ctx aws.Context, input *GetFaceDetectionInput, fn func(*GetFaceDetectionOutput, bool) bool, opts ...request.Option) error {
  3133  	p := request.Pagination{
  3134  		NewRequest: func() (*request.Request, error) {
  3135  			var inCpy *GetFaceDetectionInput
  3136  			if input != nil {
  3137  				tmp := *input
  3138  				inCpy = &tmp
  3139  			}
  3140  			req, _ := c.GetFaceDetectionRequest(inCpy)
  3141  			req.SetContext(ctx)
  3142  			req.ApplyOptions(opts...)
  3143  			return req, nil
  3144  		},
  3145  	}
  3146  
  3147  	for p.Next() {
  3148  		if !fn(p.Page().(*GetFaceDetectionOutput), !p.HasNextPage()) {
  3149  			break
  3150  		}
  3151  	}
  3152  
  3153  	return p.Err()
  3154  }
  3155  
  3156  const opGetFaceSearch = "GetFaceSearch"
  3157  
  3158  // GetFaceSearchRequest generates a "aws/request.Request" representing the
  3159  // client's request for the GetFaceSearch operation. The "output" return
  3160  // value will be populated with the request's response once the request completes
  3161  // successfully.
  3162  //
  3163  // Use "Send" method on the returned Request to send the API call to the service.
  3164  // the "output" return value is not valid until after Send returns without error.
  3165  //
  3166  // See GetFaceSearch for more information on using the GetFaceSearch
  3167  // API call, and error handling.
  3168  //
  3169  // This method is useful when you want to inject custom logic or configuration
  3170  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3171  //
  3172  //
  3173  //    // Example sending a request using the GetFaceSearchRequest method.
  3174  //    req, resp := client.GetFaceSearchRequest(params)
  3175  //
  3176  //    err := req.Send()
  3177  //    if err == nil { // resp is now filled
  3178  //        fmt.Println(resp)
  3179  //    }
  3180  func (c *Rekognition) GetFaceSearchRequest(input *GetFaceSearchInput) (req *request.Request, output *GetFaceSearchOutput) {
  3181  	op := &request.Operation{
  3182  		Name:       opGetFaceSearch,
  3183  		HTTPMethod: "POST",
  3184  		HTTPPath:   "/",
  3185  		Paginator: &request.Paginator{
  3186  			InputTokens:     []string{"NextToken"},
  3187  			OutputTokens:    []string{"NextToken"},
  3188  			LimitToken:      "MaxResults",
  3189  			TruncationToken: "",
  3190  		},
  3191  	}
  3192  
  3193  	if input == nil {
  3194  		input = &GetFaceSearchInput{}
  3195  	}
  3196  
  3197  	output = &GetFaceSearchOutput{}
  3198  	req = c.newRequest(op, input, output)
  3199  	return
  3200  }
  3201  
  3202  // GetFaceSearch API operation for Amazon Rekognition.
  3203  //
  3204  // Gets the face search results for Amazon Rekognition Video face search started
  3205  // by StartFaceSearch. The search returns faces in a collection that match the
  3206  // faces of persons detected in a video. It also includes the time(s) that faces
  3207  // are matched in the video.
  3208  //
  3209  // Face search in a video is an asynchronous operation. You start face search
  3210  // by calling to StartFaceSearch which returns a job identifier (JobId). When
  3211  // the search operation finishes, Amazon Rekognition Video publishes a completion
  3212  // status to the Amazon Simple Notification Service topic registered in the
  3213  // initial call to StartFaceSearch. To get the search results, first check that
  3214  // the status value published to the Amazon SNS topic is SUCCEEDED. If so, call
  3215  // GetFaceSearch and pass the job identifier (JobId) from the initial call to
  3216  // StartFaceSearch.
  3217  //
  3218  // For more information, see Searching Faces in a Collection in the Amazon Rekognition
  3219  // Developer Guide.
  3220  //
  3221  // The search results are retured in an array, Persons, of PersonMatch objects.
  3222  // EachPersonMatch element contains details about the matching faces in the
  3223  // input collection, person information (facial attributes, bounding boxes,
  3224  // and person identifer) for the matched person, and the time the person was
  3225  // matched in the video.
  3226  //
  3227  // GetFaceSearch only returns the default facial attributes (BoundingBox, Confidence,
  3228  // Landmarks, Pose, and Quality). The other facial attributes listed in the
  3229  // Face object of the following response syntax are not returned. For more information,
  3230  // see FaceDetail in the Amazon Rekognition Developer Guide.
  3231  //
  3232  // By default, the Persons array is sorted by the time, in milliseconds from
  3233  // the start of the video, persons are matched. You can also sort by persons
  3234  // by specifying INDEX for the SORTBY input parameter.
  3235  //
  3236  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3237  // with awserr.Error's Code and Message methods to get detailed information about
  3238  // the error.
  3239  //
  3240  // See the AWS API reference guide for Amazon Rekognition's
  3241  // API operation GetFaceSearch for usage and error information.
  3242  //
  3243  // Returned Error Types:
  3244  //   * AccessDeniedException
  3245  //   You are not authorized to perform the action.
  3246  //
  3247  //   * InternalServerError
  3248  //   Amazon Rekognition experienced a service issue. Try your call again.
  3249  //
  3250  //   * InvalidParameterException
  3251  //   Input parameter violated a constraint. Validate your parameter before calling
  3252  //   the API operation again.
  3253  //
  3254  //   * InvalidPaginationTokenException
  3255  //   Pagination token in the request is not valid.
  3256  //
  3257  //   * ProvisionedThroughputExceededException
  3258  //   The number of requests exceeded your throughput limit. If you want to increase
  3259  //   this limit, contact Amazon Rekognition.
  3260  //
  3261  //   * ResourceNotFoundException
  3262  //   The resource specified in the request cannot be found.
  3263  //
  3264  //   * ThrottlingException
  3265  //   Amazon Rekognition is temporarily unable to process the request. Try your
  3266  //   call again.
  3267  //
  3268  func (c *Rekognition) GetFaceSearch(input *GetFaceSearchInput) (*GetFaceSearchOutput, error) {
  3269  	req, out := c.GetFaceSearchRequest(input)
  3270  	return out, req.Send()
  3271  }
  3272  
  3273  // GetFaceSearchWithContext is the same as GetFaceSearch with the addition of
  3274  // the ability to pass a context and additional request options.
  3275  //
  3276  // See GetFaceSearch for details on how to use this API operation.
  3277  //
  3278  // The context must be non-nil and will be used for request cancellation. If
  3279  // the context is nil a panic will occur. In the future the SDK may create
  3280  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3281  // for more information on using Contexts.
  3282  func (c *Rekognition) GetFaceSearchWithContext(ctx aws.Context, input *GetFaceSearchInput, opts ...request.Option) (*GetFaceSearchOutput, error) {
  3283  	req, out := c.GetFaceSearchRequest(input)
  3284  	req.SetContext(ctx)
  3285  	req.ApplyOptions(opts...)
  3286  	return out, req.Send()
  3287  }
  3288  
  3289  // GetFaceSearchPages iterates over the pages of a GetFaceSearch operation,
  3290  // calling the "fn" function with the response data for each page. To stop
  3291  // iterating, return false from the fn function.
  3292  //
  3293  // See GetFaceSearch method for more information on how to use this operation.
  3294  //
  3295  // Note: This operation can generate multiple requests to a service.
  3296  //
  3297  //    // Example iterating over at most 3 pages of a GetFaceSearch operation.
  3298  //    pageNum := 0
  3299  //    err := client.GetFaceSearchPages(params,
  3300  //        func(page *rekognition.GetFaceSearchOutput, lastPage bool) bool {
  3301  //            pageNum++
  3302  //            fmt.Println(page)
  3303  //            return pageNum <= 3
  3304  //        })
  3305  //
  3306  func (c *Rekognition) GetFaceSearchPages(input *GetFaceSearchInput, fn func(*GetFaceSearchOutput, bool) bool) error {
  3307  	return c.GetFaceSearchPagesWithContext(aws.BackgroundContext(), input, fn)
  3308  }
  3309  
  3310  // GetFaceSearchPagesWithContext same as GetFaceSearchPages except
  3311  // it takes a Context and allows setting request options on the pages.
  3312  //
  3313  // The context must be non-nil and will be used for request cancellation. If
  3314  // the context is nil a panic will occur. In the future the SDK may create
  3315  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3316  // for more information on using Contexts.
  3317  func (c *Rekognition) GetFaceSearchPagesWithContext(ctx aws.Context, input *GetFaceSearchInput, fn func(*GetFaceSearchOutput, bool) bool, opts ...request.Option) error {
  3318  	p := request.Pagination{
  3319  		NewRequest: func() (*request.Request, error) {
  3320  			var inCpy *GetFaceSearchInput
  3321  			if input != nil {
  3322  				tmp := *input
  3323  				inCpy = &tmp
  3324  			}
  3325  			req, _ := c.GetFaceSearchRequest(inCpy)
  3326  			req.SetContext(ctx)
  3327  			req.ApplyOptions(opts...)
  3328  			return req, nil
  3329  		},
  3330  	}
  3331  
  3332  	for p.Next() {
  3333  		if !fn(p.Page().(*GetFaceSearchOutput), !p.HasNextPage()) {
  3334  			break
  3335  		}
  3336  	}
  3337  
  3338  	return p.Err()
  3339  }
  3340  
  3341  const opGetLabelDetection = "GetLabelDetection"
  3342  
  3343  // GetLabelDetectionRequest generates a "aws/request.Request" representing the
  3344  // client's request for the GetLabelDetection operation. The "output" return
  3345  // value will be populated with the request's response once the request completes
  3346  // successfully.
  3347  //
  3348  // Use "Send" method on the returned Request to send the API call to the service.
  3349  // the "output" return value is not valid until after Send returns without error.
  3350  //
  3351  // See GetLabelDetection for more information on using the GetLabelDetection
  3352  // API call, and error handling.
  3353  //
  3354  // This method is useful when you want to inject custom logic or configuration
  3355  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3356  //
  3357  //
  3358  //    // Example sending a request using the GetLabelDetectionRequest method.
  3359  //    req, resp := client.GetLabelDetectionRequest(params)
  3360  //
  3361  //    err := req.Send()
  3362  //    if err == nil { // resp is now filled
  3363  //        fmt.Println(resp)
  3364  //    }
  3365  func (c *Rekognition) GetLabelDetectionRequest(input *GetLabelDetectionInput) (req *request.Request, output *GetLabelDetectionOutput) {
  3366  	op := &request.Operation{
  3367  		Name:       opGetLabelDetection,
  3368  		HTTPMethod: "POST",
  3369  		HTTPPath:   "/",
  3370  		Paginator: &request.Paginator{
  3371  			InputTokens:     []string{"NextToken"},
  3372  			OutputTokens:    []string{"NextToken"},
  3373  			LimitToken:      "MaxResults",
  3374  			TruncationToken: "",
  3375  		},
  3376  	}
  3377  
  3378  	if input == nil {
  3379  		input = &GetLabelDetectionInput{}
  3380  	}
  3381  
  3382  	output = &GetLabelDetectionOutput{}
  3383  	req = c.newRequest(op, input, output)
  3384  	return
  3385  }
  3386  
  3387  // GetLabelDetection API operation for Amazon Rekognition.
  3388  //
  3389  // Gets the label detection results of a Amazon Rekognition Video analysis started
  3390  // by StartLabelDetection.
  3391  //
  3392  // The label detection operation is started by a call to StartLabelDetection
  3393  // which returns a job identifier (JobId). When the label detection operation
  3394  // finishes, Amazon Rekognition publishes a completion status to the Amazon
  3395  // Simple Notification Service topic registered in the initial call to StartlabelDetection.
  3396  // To get the results of the label detection operation, first check that the
  3397  // status value published to the Amazon SNS topic is SUCCEEDED. If so, call
  3398  // GetLabelDetection and pass the job identifier (JobId) from the initial call
  3399  // to StartLabelDetection.
  3400  //
  3401  // GetLabelDetection returns an array of detected labels (Labels) sorted by
  3402  // the time the labels were detected. You can also sort by the label name by
  3403  // specifying NAME for the SortBy input parameter.
  3404  //
  3405  // The labels returned include the label name, the percentage confidence in
  3406  // the accuracy of the detected label, and the time the label was detected in
  3407  // the video.
  3408  //
  3409  // The returned labels also include bounding box information for common objects,
  3410  // a hierarchical taxonomy of detected labels, and the version of the label
  3411  // model used for detection.
  3412  //
  3413  // Use MaxResults parameter to limit the number of labels returned. If there
  3414  // are more results than specified in MaxResults, the value of NextToken in
  3415  // the operation response contains a pagination token for getting the next set
  3416  // of results. To get the next page of results, call GetlabelDetection and populate
  3417  // the NextToken request parameter with the token value returned from the previous
  3418  // call to GetLabelDetection.
  3419  //
  3420  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3421  // with awserr.Error's Code and Message methods to get detailed information about
  3422  // the error.
  3423  //
  3424  // See the AWS API reference guide for Amazon Rekognition's
  3425  // API operation GetLabelDetection for usage and error information.
  3426  //
  3427  // Returned Error Types:
  3428  //   * AccessDeniedException
  3429  //   You are not authorized to perform the action.
  3430  //
  3431  //   * InternalServerError
  3432  //   Amazon Rekognition experienced a service issue. Try your call again.
  3433  //
  3434  //   * InvalidParameterException
  3435  //   Input parameter violated a constraint. Validate your parameter before calling
  3436  //   the API operation again.
  3437  //
  3438  //   * InvalidPaginationTokenException
  3439  //   Pagination token in the request is not valid.
  3440  //
  3441  //   * ProvisionedThroughputExceededException
  3442  //   The number of requests exceeded your throughput limit. If you want to increase
  3443  //   this limit, contact Amazon Rekognition.
  3444  //
  3445  //   * ResourceNotFoundException
  3446  //   The resource specified in the request cannot be found.
  3447  //
  3448  //   * ThrottlingException
  3449  //   Amazon Rekognition is temporarily unable to process the request. Try your
  3450  //   call again.
  3451  //
  3452  func (c *Rekognition) GetLabelDetection(input *GetLabelDetectionInput) (*GetLabelDetectionOutput, error) {
  3453  	req, out := c.GetLabelDetectionRequest(input)
  3454  	return out, req.Send()
  3455  }
  3456  
  3457  // GetLabelDetectionWithContext is the same as GetLabelDetection with the addition of
  3458  // the ability to pass a context and additional request options.
  3459  //
  3460  // See GetLabelDetection for details on how to use this API operation.
  3461  //
  3462  // The context must be non-nil and will be used for request cancellation. If
  3463  // the context is nil a panic will occur. In the future the SDK may create
  3464  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3465  // for more information on using Contexts.
  3466  func (c *Rekognition) GetLabelDetectionWithContext(ctx aws.Context, input *GetLabelDetectionInput, opts ...request.Option) (*GetLabelDetectionOutput, error) {
  3467  	req, out := c.GetLabelDetectionRequest(input)
  3468  	req.SetContext(ctx)
  3469  	req.ApplyOptions(opts...)
  3470  	return out, req.Send()
  3471  }
  3472  
  3473  // GetLabelDetectionPages iterates over the pages of a GetLabelDetection operation,
  3474  // calling the "fn" function with the response data for each page. To stop
  3475  // iterating, return false from the fn function.
  3476  //
  3477  // See GetLabelDetection method for more information on how to use this operation.
  3478  //
  3479  // Note: This operation can generate multiple requests to a service.
  3480  //
  3481  //    // Example iterating over at most 3 pages of a GetLabelDetection operation.
  3482  //    pageNum := 0
  3483  //    err := client.GetLabelDetectionPages(params,
  3484  //        func(page *rekognition.GetLabelDetectionOutput, lastPage bool) bool {
  3485  //            pageNum++
  3486  //            fmt.Println(page)
  3487  //            return pageNum <= 3
  3488  //        })
  3489  //
  3490  func (c *Rekognition) GetLabelDetectionPages(input *GetLabelDetectionInput, fn func(*GetLabelDetectionOutput, bool) bool) error {
  3491  	return c.GetLabelDetectionPagesWithContext(aws.BackgroundContext(), input, fn)
  3492  }
  3493  
  3494  // GetLabelDetectionPagesWithContext same as GetLabelDetectionPages except
  3495  // it takes a Context and allows setting request options on the pages.
  3496  //
  3497  // The context must be non-nil and will be used for request cancellation. If
  3498  // the context is nil a panic will occur. In the future the SDK may create
  3499  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3500  // for more information on using Contexts.
  3501  func (c *Rekognition) GetLabelDetectionPagesWithContext(ctx aws.Context, input *GetLabelDetectionInput, fn func(*GetLabelDetectionOutput, bool) bool, opts ...request.Option) error {
  3502  	p := request.Pagination{
  3503  		NewRequest: func() (*request.Request, error) {
  3504  			var inCpy *GetLabelDetectionInput
  3505  			if input != nil {
  3506  				tmp := *input
  3507  				inCpy = &tmp
  3508  			}
  3509  			req, _ := c.GetLabelDetectionRequest(inCpy)
  3510  			req.SetContext(ctx)
  3511  			req.ApplyOptions(opts...)
  3512  			return req, nil
  3513  		},
  3514  	}
  3515  
  3516  	for p.Next() {
  3517  		if !fn(p.Page().(*GetLabelDetectionOutput), !p.HasNextPage()) {
  3518  			break
  3519  		}
  3520  	}
  3521  
  3522  	return p.Err()
  3523  }
  3524  
  3525  const opGetPersonTracking = "GetPersonTracking"
  3526  
  3527  // GetPersonTrackingRequest generates a "aws/request.Request" representing the
  3528  // client's request for the GetPersonTracking operation. The "output" return
  3529  // value will be populated with the request's response once the request completes
  3530  // successfully.
  3531  //
  3532  // Use "Send" method on the returned Request to send the API call to the service.
  3533  // the "output" return value is not valid until after Send returns without error.
  3534  //
  3535  // See GetPersonTracking for more information on using the GetPersonTracking
  3536  // API call, and error handling.
  3537  //
  3538  // This method is useful when you want to inject custom logic or configuration
  3539  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3540  //
  3541  //
  3542  //    // Example sending a request using the GetPersonTrackingRequest method.
  3543  //    req, resp := client.GetPersonTrackingRequest(params)
  3544  //
  3545  //    err := req.Send()
  3546  //    if err == nil { // resp is now filled
  3547  //        fmt.Println(resp)
  3548  //    }
  3549  func (c *Rekognition) GetPersonTrackingRequest(input *GetPersonTrackingInput) (req *request.Request, output *GetPersonTrackingOutput) {
  3550  	op := &request.Operation{
  3551  		Name:       opGetPersonTracking,
  3552  		HTTPMethod: "POST",
  3553  		HTTPPath:   "/",
  3554  		Paginator: &request.Paginator{
  3555  			InputTokens:     []string{"NextToken"},
  3556  			OutputTokens:    []string{"NextToken"},
  3557  			LimitToken:      "MaxResults",
  3558  			TruncationToken: "",
  3559  		},
  3560  	}
  3561  
  3562  	if input == nil {
  3563  		input = &GetPersonTrackingInput{}
  3564  	}
  3565  
  3566  	output = &GetPersonTrackingOutput{}
  3567  	req = c.newRequest(op, input, output)
  3568  	return
  3569  }
  3570  
  3571  // GetPersonTracking API operation for Amazon Rekognition.
  3572  //
  3573  // Gets the path tracking results of a Amazon Rekognition Video analysis started
  3574  // by StartPersonTracking.
  3575  //
  3576  // The person path tracking operation is started by a call to StartPersonTracking
  3577  // which returns a job identifier (JobId). When the operation finishes, Amazon
  3578  // Rekognition Video publishes a completion status to the Amazon Simple Notification
  3579  // Service topic registered in the initial call to StartPersonTracking.
  3580  //
  3581  // To get the results of the person path tracking operation, first check that
  3582  // the status value published to the Amazon SNS topic is SUCCEEDED. If so, call
  3583  // GetPersonTracking and pass the job identifier (JobId) from the initial call
  3584  // to StartPersonTracking.
  3585  //
  3586  // GetPersonTracking returns an array, Persons, of tracked persons and the time(s)
  3587  // their paths were tracked in the video.
  3588  //
  3589  // GetPersonTracking only returns the default facial attributes (BoundingBox,
  3590  // Confidence, Landmarks, Pose, and Quality). The other facial attributes listed
  3591  // in the Face object of the following response syntax are not returned.
  3592  //
  3593  // For more information, see FaceDetail in the Amazon Rekognition Developer
  3594  // Guide.
  3595  //
  3596  // By default, the array is sorted by the time(s) a person's path is tracked
  3597  // in the video. You can sort by tracked persons by specifying INDEX for the
  3598  // SortBy input parameter.
  3599  //
  3600  // Use the MaxResults parameter to limit the number of items returned. If there
  3601  // are more results than specified in MaxResults, the value of NextToken in
  3602  // the operation response contains a pagination token for getting the next set
  3603  // of results. To get the next page of results, call GetPersonTracking and populate
  3604  // the NextToken request parameter with the token value returned from the previous
  3605  // call to GetPersonTracking.
  3606  //
  3607  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3608  // with awserr.Error's Code and Message methods to get detailed information about
  3609  // the error.
  3610  //
  3611  // See the AWS API reference guide for Amazon Rekognition's
  3612  // API operation GetPersonTracking for usage and error information.
  3613  //
  3614  // Returned Error Types:
  3615  //   * AccessDeniedException
  3616  //   You are not authorized to perform the action.
  3617  //
  3618  //   * InternalServerError
  3619  //   Amazon Rekognition experienced a service issue. Try your call again.
  3620  //
  3621  //   * InvalidParameterException
  3622  //   Input parameter violated a constraint. Validate your parameter before calling
  3623  //   the API operation again.
  3624  //
  3625  //   * InvalidPaginationTokenException
  3626  //   Pagination token in the request is not valid.
  3627  //
  3628  //   * ProvisionedThroughputExceededException
  3629  //   The number of requests exceeded your throughput limit. If you want to increase
  3630  //   this limit, contact Amazon Rekognition.
  3631  //
  3632  //   * ResourceNotFoundException
  3633  //   The resource specified in the request cannot be found.
  3634  //
  3635  //   * ThrottlingException
  3636  //   Amazon Rekognition is temporarily unable to process the request. Try your
  3637  //   call again.
  3638  //
  3639  func (c *Rekognition) GetPersonTracking(input *GetPersonTrackingInput) (*GetPersonTrackingOutput, error) {
  3640  	req, out := c.GetPersonTrackingRequest(input)
  3641  	return out, req.Send()
  3642  }
  3643  
  3644  // GetPersonTrackingWithContext is the same as GetPersonTracking with the addition of
  3645  // the ability to pass a context and additional request options.
  3646  //
  3647  // See GetPersonTracking for details on how to use this API operation.
  3648  //
  3649  // The context must be non-nil and will be used for request cancellation. If
  3650  // the context is nil a panic will occur. In the future the SDK may create
  3651  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3652  // for more information on using Contexts.
  3653  func (c *Rekognition) GetPersonTrackingWithContext(ctx aws.Context, input *GetPersonTrackingInput, opts ...request.Option) (*GetPersonTrackingOutput, error) {
  3654  	req, out := c.GetPersonTrackingRequest(input)
  3655  	req.SetContext(ctx)
  3656  	req.ApplyOptions(opts...)
  3657  	return out, req.Send()
  3658  }
  3659  
  3660  // GetPersonTrackingPages iterates over the pages of a GetPersonTracking operation,
  3661  // calling the "fn" function with the response data for each page. To stop
  3662  // iterating, return false from the fn function.
  3663  //
  3664  // See GetPersonTracking method for more information on how to use this operation.
  3665  //
  3666  // Note: This operation can generate multiple requests to a service.
  3667  //
  3668  //    // Example iterating over at most 3 pages of a GetPersonTracking operation.
  3669  //    pageNum := 0
  3670  //    err := client.GetPersonTrackingPages(params,
  3671  //        func(page *rekognition.GetPersonTrackingOutput, lastPage bool) bool {
  3672  //            pageNum++
  3673  //            fmt.Println(page)
  3674  //            return pageNum <= 3
  3675  //        })
  3676  //
  3677  func (c *Rekognition) GetPersonTrackingPages(input *GetPersonTrackingInput, fn func(*GetPersonTrackingOutput, bool) bool) error {
  3678  	return c.GetPersonTrackingPagesWithContext(aws.BackgroundContext(), input, fn)
  3679  }
  3680  
  3681  // GetPersonTrackingPagesWithContext same as GetPersonTrackingPages except
  3682  // it takes a Context and allows setting request options on the pages.
  3683  //
  3684  // The context must be non-nil and will be used for request cancellation. If
  3685  // the context is nil a panic will occur. In the future the SDK may create
  3686  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3687  // for more information on using Contexts.
  3688  func (c *Rekognition) GetPersonTrackingPagesWithContext(ctx aws.Context, input *GetPersonTrackingInput, fn func(*GetPersonTrackingOutput, bool) bool, opts ...request.Option) error {
  3689  	p := request.Pagination{
  3690  		NewRequest: func() (*request.Request, error) {
  3691  			var inCpy *GetPersonTrackingInput
  3692  			if input != nil {
  3693  				tmp := *input
  3694  				inCpy = &tmp
  3695  			}
  3696  			req, _ := c.GetPersonTrackingRequest(inCpy)
  3697  			req.SetContext(ctx)
  3698  			req.ApplyOptions(opts...)
  3699  			return req, nil
  3700  		},
  3701  	}
  3702  
  3703  	for p.Next() {
  3704  		if !fn(p.Page().(*GetPersonTrackingOutput), !p.HasNextPage()) {
  3705  			break
  3706  		}
  3707  	}
  3708  
  3709  	return p.Err()
  3710  }
  3711  
  3712  const opGetSegmentDetection = "GetSegmentDetection"
  3713  
  3714  // GetSegmentDetectionRequest generates a "aws/request.Request" representing the
  3715  // client's request for the GetSegmentDetection operation. The "output" return
  3716  // value will be populated with the request's response once the request completes
  3717  // successfully.
  3718  //
  3719  // Use "Send" method on the returned Request to send the API call to the service.
  3720  // the "output" return value is not valid until after Send returns without error.
  3721  //
  3722  // See GetSegmentDetection for more information on using the GetSegmentDetection
  3723  // API call, and error handling.
  3724  //
  3725  // This method is useful when you want to inject custom logic or configuration
  3726  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3727  //
  3728  //
  3729  //    // Example sending a request using the GetSegmentDetectionRequest method.
  3730  //    req, resp := client.GetSegmentDetectionRequest(params)
  3731  //
  3732  //    err := req.Send()
  3733  //    if err == nil { // resp is now filled
  3734  //        fmt.Println(resp)
  3735  //    }
  3736  func (c *Rekognition) GetSegmentDetectionRequest(input *GetSegmentDetectionInput) (req *request.Request, output *GetSegmentDetectionOutput) {
  3737  	op := &request.Operation{
  3738  		Name:       opGetSegmentDetection,
  3739  		HTTPMethod: "POST",
  3740  		HTTPPath:   "/",
  3741  		Paginator: &request.Paginator{
  3742  			InputTokens:     []string{"NextToken"},
  3743  			OutputTokens:    []string{"NextToken"},
  3744  			LimitToken:      "MaxResults",
  3745  			TruncationToken: "",
  3746  		},
  3747  	}
  3748  
  3749  	if input == nil {
  3750  		input = &GetSegmentDetectionInput{}
  3751  	}
  3752  
  3753  	output = &GetSegmentDetectionOutput{}
  3754  	req = c.newRequest(op, input, output)
  3755  	return
  3756  }
  3757  
  3758  // GetSegmentDetection API operation for Amazon Rekognition.
  3759  //
  3760  // Gets the segment detection results of a Amazon Rekognition Video analysis
  3761  // started by StartSegmentDetection.
  3762  //
  3763  // Segment detection with Amazon Rekognition Video is an asynchronous operation.
  3764  // You start segment detection by calling StartSegmentDetection which returns
  3765  // a job identifier (JobId). When the segment detection operation finishes,
  3766  // Amazon Rekognition publishes a completion status to the Amazon Simple Notification
  3767  // Service topic registered in the initial call to StartSegmentDetection. To
  3768  // get the results of the segment detection operation, first check that the
  3769  // status value published to the Amazon SNS topic is SUCCEEDED. if so, call
  3770  // GetSegmentDetection and pass the job identifier (JobId) from the initial
  3771  // call of StartSegmentDetection.
  3772  //
  3773  // GetSegmentDetection returns detected segments in an array (Segments) of SegmentDetection
  3774  // objects. Segments is sorted by the segment types specified in the SegmentTypes
  3775  // input parameter of StartSegmentDetection. Each element of the array includes
  3776  // the detected segment, the precentage confidence in the acuracy of the detected
  3777  // segment, the type of the segment, and the frame in which the segment was
  3778  // detected.
  3779  //
  3780  // Use SelectedSegmentTypes to find out the type of segment detection requested
  3781  // in the call to StartSegmentDetection.
  3782  //
  3783  // Use the MaxResults parameter to limit the number of segment detections returned.
  3784  // If there are more results than specified in MaxResults, the value of NextToken
  3785  // in the operation response contains a pagination token for getting the next
  3786  // set of results. To get the next page of results, call GetSegmentDetection
  3787  // and populate the NextToken request parameter with the token value returned
  3788  // from the previous call to GetSegmentDetection.
  3789  //
  3790  // For more information, see Detecting Video Segments in Stored Video in the
  3791  // Amazon Rekognition Developer Guide.
  3792  //
  3793  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3794  // with awserr.Error's Code and Message methods to get detailed information about
  3795  // the error.
  3796  //
  3797  // See the AWS API reference guide for Amazon Rekognition's
  3798  // API operation GetSegmentDetection for usage and error information.
  3799  //
  3800  // Returned Error Types:
  3801  //   * AccessDeniedException
  3802  //   You are not authorized to perform the action.
  3803  //
  3804  //   * InternalServerError
  3805  //   Amazon Rekognition experienced a service issue. Try your call again.
  3806  //
  3807  //   * InvalidParameterException
  3808  //   Input parameter violated a constraint. Validate your parameter before calling
  3809  //   the API operation again.
  3810  //
  3811  //   * InvalidPaginationTokenException
  3812  //   Pagination token in the request is not valid.
  3813  //
  3814  //   * ProvisionedThroughputExceededException
  3815  //   The number of requests exceeded your throughput limit. If you want to increase
  3816  //   this limit, contact Amazon Rekognition.
  3817  //
  3818  //   * ResourceNotFoundException
  3819  //   The resource specified in the request cannot be found.
  3820  //
  3821  //   * ThrottlingException
  3822  //   Amazon Rekognition is temporarily unable to process the request. Try your
  3823  //   call again.
  3824  //
  3825  func (c *Rekognition) GetSegmentDetection(input *GetSegmentDetectionInput) (*GetSegmentDetectionOutput, error) {
  3826  	req, out := c.GetSegmentDetectionRequest(input)
  3827  	return out, req.Send()
  3828  }
  3829  
  3830  // GetSegmentDetectionWithContext is the same as GetSegmentDetection with the addition of
  3831  // the ability to pass a context and additional request options.
  3832  //
  3833  // See GetSegmentDetection for details on how to use this API operation.
  3834  //
  3835  // The context must be non-nil and will be used for request cancellation. If
  3836  // the context is nil a panic will occur. In the future the SDK may create
  3837  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3838  // for more information on using Contexts.
  3839  func (c *Rekognition) GetSegmentDetectionWithContext(ctx aws.Context, input *GetSegmentDetectionInput, opts ...request.Option) (*GetSegmentDetectionOutput, error) {
  3840  	req, out := c.GetSegmentDetectionRequest(input)
  3841  	req.SetContext(ctx)
  3842  	req.ApplyOptions(opts...)
  3843  	return out, req.Send()
  3844  }
  3845  
  3846  // GetSegmentDetectionPages iterates over the pages of a GetSegmentDetection operation,
  3847  // calling the "fn" function with the response data for each page. To stop
  3848  // iterating, return false from the fn function.
  3849  //
  3850  // See GetSegmentDetection method for more information on how to use this operation.
  3851  //
  3852  // Note: This operation can generate multiple requests to a service.
  3853  //
  3854  //    // Example iterating over at most 3 pages of a GetSegmentDetection operation.
  3855  //    pageNum := 0
  3856  //    err := client.GetSegmentDetectionPages(params,
  3857  //        func(page *rekognition.GetSegmentDetectionOutput, lastPage bool) bool {
  3858  //            pageNum++
  3859  //            fmt.Println(page)
  3860  //            return pageNum <= 3
  3861  //        })
  3862  //
  3863  func (c *Rekognition) GetSegmentDetectionPages(input *GetSegmentDetectionInput, fn func(*GetSegmentDetectionOutput, bool) bool) error {
  3864  	return c.GetSegmentDetectionPagesWithContext(aws.BackgroundContext(), input, fn)
  3865  }
  3866  
  3867  // GetSegmentDetectionPagesWithContext same as GetSegmentDetectionPages except
  3868  // it takes a Context and allows setting request options on the pages.
  3869  //
  3870  // The context must be non-nil and will be used for request cancellation. If
  3871  // the context is nil a panic will occur. In the future the SDK may create
  3872  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3873  // for more information on using Contexts.
  3874  func (c *Rekognition) GetSegmentDetectionPagesWithContext(ctx aws.Context, input *GetSegmentDetectionInput, fn func(*GetSegmentDetectionOutput, bool) bool, opts ...request.Option) error {
  3875  	p := request.Pagination{
  3876  		NewRequest: func() (*request.Request, error) {
  3877  			var inCpy *GetSegmentDetectionInput
  3878  			if input != nil {
  3879  				tmp := *input
  3880  				inCpy = &tmp
  3881  			}
  3882  			req, _ := c.GetSegmentDetectionRequest(inCpy)
  3883  			req.SetContext(ctx)
  3884  			req.ApplyOptions(opts...)
  3885  			return req, nil
  3886  		},
  3887  	}
  3888  
  3889  	for p.Next() {
  3890  		if !fn(p.Page().(*GetSegmentDetectionOutput), !p.HasNextPage()) {
  3891  			break
  3892  		}
  3893  	}
  3894  
  3895  	return p.Err()
  3896  }
  3897  
  3898  const opGetTextDetection = "GetTextDetection"
  3899  
  3900  // GetTextDetectionRequest generates a "aws/request.Request" representing the
  3901  // client's request for the GetTextDetection operation. The "output" return
  3902  // value will be populated with the request's response once the request completes
  3903  // successfully.
  3904  //
  3905  // Use "Send" method on the returned Request to send the API call to the service.
  3906  // the "output" return value is not valid until after Send returns without error.
  3907  //
  3908  // See GetTextDetection for more information on using the GetTextDetection
  3909  // API call, and error handling.
  3910  //
  3911  // This method is useful when you want to inject custom logic or configuration
  3912  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3913  //
  3914  //
  3915  //    // Example sending a request using the GetTextDetectionRequest method.
  3916  //    req, resp := client.GetTextDetectionRequest(params)
  3917  //
  3918  //    err := req.Send()
  3919  //    if err == nil { // resp is now filled
  3920  //        fmt.Println(resp)
  3921  //    }
  3922  func (c *Rekognition) GetTextDetectionRequest(input *GetTextDetectionInput) (req *request.Request, output *GetTextDetectionOutput) {
  3923  	op := &request.Operation{
  3924  		Name:       opGetTextDetection,
  3925  		HTTPMethod: "POST",
  3926  		HTTPPath:   "/",
  3927  		Paginator: &request.Paginator{
  3928  			InputTokens:     []string{"NextToken"},
  3929  			OutputTokens:    []string{"NextToken"},
  3930  			LimitToken:      "MaxResults",
  3931  			TruncationToken: "",
  3932  		},
  3933  	}
  3934  
  3935  	if input == nil {
  3936  		input = &GetTextDetectionInput{}
  3937  	}
  3938  
  3939  	output = &GetTextDetectionOutput{}
  3940  	req = c.newRequest(op, input, output)
  3941  	return
  3942  }
  3943  
  3944  // GetTextDetection API operation for Amazon Rekognition.
  3945  //
  3946  // Gets the text detection results of a Amazon Rekognition Video analysis started
  3947  // by StartTextDetection.
  3948  //
  3949  // Text detection with Amazon Rekognition Video is an asynchronous operation.
  3950  // You start text detection by calling StartTextDetection which returns a job
  3951  // identifier (JobId) When the text detection operation finishes, Amazon Rekognition
  3952  // publishes a completion status to the Amazon Simple Notification Service topic
  3953  // registered in the initial call to StartTextDetection. To get the results
  3954  // of the text detection operation, first check that the status value published
  3955  // to the Amazon SNS topic is SUCCEEDED. if so, call GetTextDetection and pass
  3956  // the job identifier (JobId) from the initial call of StartLabelDetection.
  3957  //
  3958  // GetTextDetection returns an array of detected text (TextDetections) sorted
  3959  // by the time the text was detected, up to 50 words per frame of video.
  3960  //
  3961  // Each element of the array includes the detected text, the precentage confidence
  3962  // in the acuracy of the detected text, the time the text was detected, bounding
  3963  // box information for where the text was located, and unique identifiers for
  3964  // words and their lines.
  3965  //
  3966  // Use MaxResults parameter to limit the number of text detections returned.
  3967  // If there are more results than specified in MaxResults, the value of NextToken
  3968  // in the operation response contains a pagination token for getting the next
  3969  // set of results. To get the next page of results, call GetTextDetection and
  3970  // populate the NextToken request parameter with the token value returned from
  3971  // the previous call to GetTextDetection.
  3972  //
  3973  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3974  // with awserr.Error's Code and Message methods to get detailed information about
  3975  // the error.
  3976  //
  3977  // See the AWS API reference guide for Amazon Rekognition's
  3978  // API operation GetTextDetection for usage and error information.
  3979  //
  3980  // Returned Error Types:
  3981  //   * AccessDeniedException
  3982  //   You are not authorized to perform the action.
  3983  //
  3984  //   * InternalServerError
  3985  //   Amazon Rekognition experienced a service issue. Try your call again.
  3986  //
  3987  //   * InvalidParameterException
  3988  //   Input parameter violated a constraint. Validate your parameter before calling
  3989  //   the API operation again.
  3990  //
  3991  //   * InvalidPaginationTokenException
  3992  //   Pagination token in the request is not valid.
  3993  //
  3994  //   * ProvisionedThroughputExceededException
  3995  //   The number of requests exceeded your throughput limit. If you want to increase
  3996  //   this limit, contact Amazon Rekognition.
  3997  //
  3998  //   * ResourceNotFoundException
  3999  //   The resource specified in the request cannot be found.
  4000  //
  4001  //   * ThrottlingException
  4002  //   Amazon Rekognition is temporarily unable to process the request. Try your
  4003  //   call again.
  4004  //
  4005  func (c *Rekognition) GetTextDetection(input *GetTextDetectionInput) (*GetTextDetectionOutput, error) {
  4006  	req, out := c.GetTextDetectionRequest(input)
  4007  	return out, req.Send()
  4008  }
  4009  
  4010  // GetTextDetectionWithContext is the same as GetTextDetection with the addition of
  4011  // the ability to pass a context and additional request options.
  4012  //
  4013  // See GetTextDetection for details on how to use this API operation.
  4014  //
  4015  // The context must be non-nil and will be used for request cancellation. If
  4016  // the context is nil a panic will occur. In the future the SDK may create
  4017  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4018  // for more information on using Contexts.
  4019  func (c *Rekognition) GetTextDetectionWithContext(ctx aws.Context, input *GetTextDetectionInput, opts ...request.Option) (*GetTextDetectionOutput, error) {
  4020  	req, out := c.GetTextDetectionRequest(input)
  4021  	req.SetContext(ctx)
  4022  	req.ApplyOptions(opts...)
  4023  	return out, req.Send()
  4024  }
  4025  
  4026  // GetTextDetectionPages iterates over the pages of a GetTextDetection operation,
  4027  // calling the "fn" function with the response data for each page. To stop
  4028  // iterating, return false from the fn function.
  4029  //
  4030  // See GetTextDetection method for more information on how to use this operation.
  4031  //
  4032  // Note: This operation can generate multiple requests to a service.
  4033  //
  4034  //    // Example iterating over at most 3 pages of a GetTextDetection operation.
  4035  //    pageNum := 0
  4036  //    err := client.GetTextDetectionPages(params,
  4037  //        func(page *rekognition.GetTextDetectionOutput, lastPage bool) bool {
  4038  //            pageNum++
  4039  //            fmt.Println(page)
  4040  //            return pageNum <= 3
  4041  //        })
  4042  //
  4043  func (c *Rekognition) GetTextDetectionPages(input *GetTextDetectionInput, fn func(*GetTextDetectionOutput, bool) bool) error {
  4044  	return c.GetTextDetectionPagesWithContext(aws.BackgroundContext(), input, fn)
  4045  }
  4046  
  4047  // GetTextDetectionPagesWithContext same as GetTextDetectionPages except
  4048  // it takes a Context and allows setting request options on the pages.
  4049  //
  4050  // The context must be non-nil and will be used for request cancellation. If
  4051  // the context is nil a panic will occur. In the future the SDK may create
  4052  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4053  // for more information on using Contexts.
  4054  func (c *Rekognition) GetTextDetectionPagesWithContext(ctx aws.Context, input *GetTextDetectionInput, fn func(*GetTextDetectionOutput, bool) bool, opts ...request.Option) error {
  4055  	p := request.Pagination{
  4056  		NewRequest: func() (*request.Request, error) {
  4057  			var inCpy *GetTextDetectionInput
  4058  			if input != nil {
  4059  				tmp := *input
  4060  				inCpy = &tmp
  4061  			}
  4062  			req, _ := c.GetTextDetectionRequest(inCpy)
  4063  			req.SetContext(ctx)
  4064  			req.ApplyOptions(opts...)
  4065  			return req, nil
  4066  		},
  4067  	}
  4068  
  4069  	for p.Next() {
  4070  		if !fn(p.Page().(*GetTextDetectionOutput), !p.HasNextPage()) {
  4071  			break
  4072  		}
  4073  	}
  4074  
  4075  	return p.Err()
  4076  }
  4077  
  4078  const opIndexFaces = "IndexFaces"
  4079  
  4080  // IndexFacesRequest generates a "aws/request.Request" representing the
  4081  // client's request for the IndexFaces operation. The "output" return
  4082  // value will be populated with the request's response once the request completes
  4083  // successfully.
  4084  //
  4085  // Use "Send" method on the returned Request to send the API call to the service.
  4086  // the "output" return value is not valid until after Send returns without error.
  4087  //
  4088  // See IndexFaces for more information on using the IndexFaces
  4089  // API call, and error handling.
  4090  //
  4091  // This method is useful when you want to inject custom logic or configuration
  4092  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4093  //
  4094  //
  4095  //    // Example sending a request using the IndexFacesRequest method.
  4096  //    req, resp := client.IndexFacesRequest(params)
  4097  //
  4098  //    err := req.Send()
  4099  //    if err == nil { // resp is now filled
  4100  //        fmt.Println(resp)
  4101  //    }
  4102  func (c *Rekognition) IndexFacesRequest(input *IndexFacesInput) (req *request.Request, output *IndexFacesOutput) {
  4103  	op := &request.Operation{
  4104  		Name:       opIndexFaces,
  4105  		HTTPMethod: "POST",
  4106  		HTTPPath:   "/",
  4107  	}
  4108  
  4109  	if input == nil {
  4110  		input = &IndexFacesInput{}
  4111  	}
  4112  
  4113  	output = &IndexFacesOutput{}
  4114  	req = c.newRequest(op, input, output)
  4115  	return
  4116  }
  4117  
  4118  // IndexFaces API operation for Amazon Rekognition.
  4119  //
  4120  // Detects faces in the input image and adds them to the specified collection.
  4121  //
  4122  // Amazon Rekognition doesn't save the actual faces that are detected. Instead,
  4123  // the underlying detection algorithm first detects the faces in the input image.
  4124  // For each face, the algorithm extracts facial features into a feature vector,
  4125  // and stores it in the backend database. Amazon Rekognition uses feature vectors
  4126  // when it performs face match and search operations using the SearchFaces and
  4127  // SearchFacesByImage operations.
  4128  //
  4129  // For more information, see Adding Faces to a Collection in the Amazon Rekognition
  4130  // Developer Guide.
  4131  //
  4132  // To get the number of faces in a collection, call DescribeCollection.
  4133  //
  4134  // If you're using version 1.0 of the face detection model, IndexFaces indexes
  4135  // the 15 largest faces in the input image. Later versions of the face detection
  4136  // model index the 100 largest faces in the input image.
  4137  //
  4138  // If you're using version 4 or later of the face model, image orientation information
  4139  // is not returned in the OrientationCorrection field.
  4140  //
  4141  // To determine which version of the model you're using, call DescribeCollection
  4142  // and supply the collection ID. You can also get the model version from the
  4143  // value of FaceModelVersion in the response from IndexFaces
  4144  //
  4145  // For more information, see Model Versioning in the Amazon Rekognition Developer
  4146  // Guide.
  4147  //
  4148  // If you provide the optional ExternalImageId for the input image you provided,
  4149  // Amazon Rekognition associates this ID with all faces that it detects. When
  4150  // you call the ListFaces operation, the response returns the external ID. You
  4151  // can use this external image ID to create a client-side index to associate
  4152  // the faces with each image. You can then use the index to find all faces in
  4153  // an image.
  4154  //
  4155  // You can specify the maximum number of faces to index with the MaxFaces input
  4156  // parameter. This is useful when you want to index the largest faces in an
  4157  // image and don't want to index smaller faces, such as those belonging to people
  4158  // standing in the background.
  4159  //
  4160  // The QualityFilter input parameter allows you to filter out detected faces
  4161  // that don’t meet a required quality bar. The quality bar is based on a variety
  4162  // of common use cases. By default, IndexFaces chooses the quality bar that's
  4163  // used to filter faces. You can also explicitly choose the quality bar. Use
  4164  // QualityFilter, to set the quality bar by specifying LOW, MEDIUM, or HIGH.
  4165  // If you do not want to filter detected faces, specify NONE.
  4166  //
  4167  // To use quality filtering, you need a collection associated with version 3
  4168  // of the face model or higher. To get the version of the face model associated
  4169  // with a collection, call DescribeCollection.
  4170  //
  4171  // Information about faces detected in an image, but not indexed, is returned
  4172  // in an array of UnindexedFace objects, UnindexedFaces. Faces aren't indexed
  4173  // for reasons such as:
  4174  //
  4175  //    * The number of faces detected exceeds the value of the MaxFaces request
  4176  //    parameter.
  4177  //
  4178  //    * The face is too small compared to the image dimensions.
  4179  //
  4180  //    * The face is too blurry.
  4181  //
  4182  //    * The image is too dark.
  4183  //
  4184  //    * The face has an extreme pose.
  4185  //
  4186  //    * The face doesn’t have enough detail to be suitable for face search.
  4187  //
  4188  // In response, the IndexFaces operation returns an array of metadata for all
  4189  // detected faces, FaceRecords. This includes:
  4190  //
  4191  //    * The bounding box, BoundingBox, of the detected face.
  4192  //
  4193  //    * A confidence value, Confidence, which indicates the confidence that
  4194  //    the bounding box contains a face.
  4195  //
  4196  //    * A face ID, FaceId, assigned by the service for each face that's detected
  4197  //    and stored.
  4198  //
  4199  //    * An image ID, ImageId, assigned by the service for the input image.
  4200  //
  4201  // If you request all facial attributes (by using the detectionAttributes parameter),
  4202  // Amazon Rekognition returns detailed facial attributes, such as facial landmarks
  4203  // (for example, location of eye and mouth) and other facial attributes. If
  4204  // you provide the same image, specify the same collection, and use the same
  4205  // external ID in the IndexFaces operation, Amazon Rekognition doesn't save
  4206  // duplicate face metadata.
  4207  //
  4208  // The input image is passed either as base64-encoded image bytes, or as a reference
  4209  // to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon
  4210  // Rekognition operations, passing image bytes isn't supported. The image must
  4211  // be formatted as a PNG or JPEG file.
  4212  //
  4213  // This operation requires permissions to perform the rekognition:IndexFaces
  4214  // action.
  4215  //
  4216  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4217  // with awserr.Error's Code and Message methods to get detailed information about
  4218  // the error.
  4219  //
  4220  // See the AWS API reference guide for Amazon Rekognition's
  4221  // API operation IndexFaces for usage and error information.
  4222  //
  4223  // Returned Error Types:
  4224  //   * InvalidS3ObjectException
  4225  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  4226  //
  4227  //   * InvalidParameterException
  4228  //   Input parameter violated a constraint. Validate your parameter before calling
  4229  //   the API operation again.
  4230  //
  4231  //   * ImageTooLargeException
  4232  //   The input image size exceeds the allowed limit. If you are calling DetectProtectiveEquipment,
  4233  //   the image size or resolution exceeds the allowed limit. For more information,
  4234  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
  4235  //
  4236  //   * AccessDeniedException
  4237  //   You are not authorized to perform the action.
  4238  //
  4239  //   * InternalServerError
  4240  //   Amazon Rekognition experienced a service issue. Try your call again.
  4241  //
  4242  //   * ThrottlingException
  4243  //   Amazon Rekognition is temporarily unable to process the request. Try your
  4244  //   call again.
  4245  //
  4246  //   * ProvisionedThroughputExceededException
  4247  //   The number of requests exceeded your throughput limit. If you want to increase
  4248  //   this limit, contact Amazon Rekognition.
  4249  //
  4250  //   * ResourceNotFoundException
  4251  //   The resource specified in the request cannot be found.
  4252  //
  4253  //   * InvalidImageFormatException
  4254  //   The provided image format is not supported.
  4255  //
  4256  //   * ServiceQuotaExceededException
  4257  //   The size of the collection exceeds the allowed limit. For more information,
  4258  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
  4259  //
  4260  func (c *Rekognition) IndexFaces(input *IndexFacesInput) (*IndexFacesOutput, error) {
  4261  	req, out := c.IndexFacesRequest(input)
  4262  	return out, req.Send()
  4263  }
  4264  
  4265  // IndexFacesWithContext is the same as IndexFaces with the addition of
  4266  // the ability to pass a context and additional request options.
  4267  //
  4268  // See IndexFaces for details on how to use this API operation.
  4269  //
  4270  // The context must be non-nil and will be used for request cancellation. If
  4271  // the context is nil a panic will occur. In the future the SDK may create
  4272  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4273  // for more information on using Contexts.
  4274  func (c *Rekognition) IndexFacesWithContext(ctx aws.Context, input *IndexFacesInput, opts ...request.Option) (*IndexFacesOutput, error) {
  4275  	req, out := c.IndexFacesRequest(input)
  4276  	req.SetContext(ctx)
  4277  	req.ApplyOptions(opts...)
  4278  	return out, req.Send()
  4279  }
  4280  
  4281  const opListCollections = "ListCollections"
  4282  
  4283  // ListCollectionsRequest generates a "aws/request.Request" representing the
  4284  // client's request for the ListCollections operation. The "output" return
  4285  // value will be populated with the request's response once the request completes
  4286  // successfully.
  4287  //
  4288  // Use "Send" method on the returned Request to send the API call to the service.
  4289  // the "output" return value is not valid until after Send returns without error.
  4290  //
  4291  // See ListCollections for more information on using the ListCollections
  4292  // API call, and error handling.
  4293  //
  4294  // This method is useful when you want to inject custom logic or configuration
  4295  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4296  //
  4297  //
  4298  //    // Example sending a request using the ListCollectionsRequest method.
  4299  //    req, resp := client.ListCollectionsRequest(params)
  4300  //
  4301  //    err := req.Send()
  4302  //    if err == nil { // resp is now filled
  4303  //        fmt.Println(resp)
  4304  //    }
  4305  func (c *Rekognition) ListCollectionsRequest(input *ListCollectionsInput) (req *request.Request, output *ListCollectionsOutput) {
  4306  	op := &request.Operation{
  4307  		Name:       opListCollections,
  4308  		HTTPMethod: "POST",
  4309  		HTTPPath:   "/",
  4310  		Paginator: &request.Paginator{
  4311  			InputTokens:     []string{"NextToken"},
  4312  			OutputTokens:    []string{"NextToken"},
  4313  			LimitToken:      "MaxResults",
  4314  			TruncationToken: "",
  4315  		},
  4316  	}
  4317  
  4318  	if input == nil {
  4319  		input = &ListCollectionsInput{}
  4320  	}
  4321  
  4322  	output = &ListCollectionsOutput{}
  4323  	req = c.newRequest(op, input, output)
  4324  	return
  4325  }
  4326  
  4327  // ListCollections API operation for Amazon Rekognition.
  4328  //
  4329  // Returns list of collection IDs in your account. If the result is truncated,
  4330  // the response also provides a NextToken that you can use in the subsequent
  4331  // request to fetch the next set of collection IDs.
  4332  //
  4333  // For an example, see Listing Collections in the Amazon Rekognition Developer
  4334  // Guide.
  4335  //
  4336  // This operation requires permissions to perform the rekognition:ListCollections
  4337  // action.
  4338  //
  4339  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4340  // with awserr.Error's Code and Message methods to get detailed information about
  4341  // the error.
  4342  //
  4343  // See the AWS API reference guide for Amazon Rekognition's
  4344  // API operation ListCollections for usage and error information.
  4345  //
  4346  // Returned Error Types:
  4347  //   * InvalidParameterException
  4348  //   Input parameter violated a constraint. Validate your parameter before calling
  4349  //   the API operation again.
  4350  //
  4351  //   * AccessDeniedException
  4352  //   You are not authorized to perform the action.
  4353  //
  4354  //   * InternalServerError
  4355  //   Amazon Rekognition experienced a service issue. Try your call again.
  4356  //
  4357  //   * ThrottlingException
  4358  //   Amazon Rekognition is temporarily unable to process the request. Try your
  4359  //   call again.
  4360  //
  4361  //   * ProvisionedThroughputExceededException
  4362  //   The number of requests exceeded your throughput limit. If you want to increase
  4363  //   this limit, contact Amazon Rekognition.
  4364  //
  4365  //   * InvalidPaginationTokenException
  4366  //   Pagination token in the request is not valid.
  4367  //
  4368  //   * ResourceNotFoundException
  4369  //   The resource specified in the request cannot be found.
  4370  //
  4371  func (c *Rekognition) ListCollections(input *ListCollectionsInput) (*ListCollectionsOutput, error) {
  4372  	req, out := c.ListCollectionsRequest(input)
  4373  	return out, req.Send()
  4374  }
  4375  
  4376  // ListCollectionsWithContext is the same as ListCollections with the addition of
  4377  // the ability to pass a context and additional request options.
  4378  //
  4379  // See ListCollections for details on how to use this API operation.
  4380  //
  4381  // The context must be non-nil and will be used for request cancellation. If
  4382  // the context is nil a panic will occur. In the future the SDK may create
  4383  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4384  // for more information on using Contexts.
  4385  func (c *Rekognition) ListCollectionsWithContext(ctx aws.Context, input *ListCollectionsInput, opts ...request.Option) (*ListCollectionsOutput, error) {
  4386  	req, out := c.ListCollectionsRequest(input)
  4387  	req.SetContext(ctx)
  4388  	req.ApplyOptions(opts...)
  4389  	return out, req.Send()
  4390  }
  4391  
  4392  // ListCollectionsPages iterates over the pages of a ListCollections operation,
  4393  // calling the "fn" function with the response data for each page. To stop
  4394  // iterating, return false from the fn function.
  4395  //
  4396  // See ListCollections method for more information on how to use this operation.
  4397  //
  4398  // Note: This operation can generate multiple requests to a service.
  4399  //
  4400  //    // Example iterating over at most 3 pages of a ListCollections operation.
  4401  //    pageNum := 0
  4402  //    err := client.ListCollectionsPages(params,
  4403  //        func(page *rekognition.ListCollectionsOutput, lastPage bool) bool {
  4404  //            pageNum++
  4405  //            fmt.Println(page)
  4406  //            return pageNum <= 3
  4407  //        })
  4408  //
  4409  func (c *Rekognition) ListCollectionsPages(input *ListCollectionsInput, fn func(*ListCollectionsOutput, bool) bool) error {
  4410  	return c.ListCollectionsPagesWithContext(aws.BackgroundContext(), input, fn)
  4411  }
  4412  
  4413  // ListCollectionsPagesWithContext same as ListCollectionsPages except
  4414  // it takes a Context and allows setting request options on the pages.
  4415  //
  4416  // The context must be non-nil and will be used for request cancellation. If
  4417  // the context is nil a panic will occur. In the future the SDK may create
  4418  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4419  // for more information on using Contexts.
  4420  func (c *Rekognition) ListCollectionsPagesWithContext(ctx aws.Context, input *ListCollectionsInput, fn func(*ListCollectionsOutput, bool) bool, opts ...request.Option) error {
  4421  	p := request.Pagination{
  4422  		NewRequest: func() (*request.Request, error) {
  4423  			var inCpy *ListCollectionsInput
  4424  			if input != nil {
  4425  				tmp := *input
  4426  				inCpy = &tmp
  4427  			}
  4428  			req, _ := c.ListCollectionsRequest(inCpy)
  4429  			req.SetContext(ctx)
  4430  			req.ApplyOptions(opts...)
  4431  			return req, nil
  4432  		},
  4433  	}
  4434  
  4435  	for p.Next() {
  4436  		if !fn(p.Page().(*ListCollectionsOutput), !p.HasNextPage()) {
  4437  			break
  4438  		}
  4439  	}
  4440  
  4441  	return p.Err()
  4442  }
  4443  
  4444  const opListFaces = "ListFaces"
  4445  
  4446  // ListFacesRequest generates a "aws/request.Request" representing the
  4447  // client's request for the ListFaces operation. The "output" return
  4448  // value will be populated with the request's response once the request completes
  4449  // successfully.
  4450  //
  4451  // Use "Send" method on the returned Request to send the API call to the service.
  4452  // the "output" return value is not valid until after Send returns without error.
  4453  //
  4454  // See ListFaces for more information on using the ListFaces
  4455  // API call, and error handling.
  4456  //
  4457  // This method is useful when you want to inject custom logic or configuration
  4458  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4459  //
  4460  //
  4461  //    // Example sending a request using the ListFacesRequest method.
  4462  //    req, resp := client.ListFacesRequest(params)
  4463  //
  4464  //    err := req.Send()
  4465  //    if err == nil { // resp is now filled
  4466  //        fmt.Println(resp)
  4467  //    }
  4468  func (c *Rekognition) ListFacesRequest(input *ListFacesInput) (req *request.Request, output *ListFacesOutput) {
  4469  	op := &request.Operation{
  4470  		Name:       opListFaces,
  4471  		HTTPMethod: "POST",
  4472  		HTTPPath:   "/",
  4473  		Paginator: &request.Paginator{
  4474  			InputTokens:     []string{"NextToken"},
  4475  			OutputTokens:    []string{"NextToken"},
  4476  			LimitToken:      "MaxResults",
  4477  			TruncationToken: "",
  4478  		},
  4479  	}
  4480  
  4481  	if input == nil {
  4482  		input = &ListFacesInput{}
  4483  	}
  4484  
  4485  	output = &ListFacesOutput{}
  4486  	req = c.newRequest(op, input, output)
  4487  	return
  4488  }
  4489  
  4490  // ListFaces API operation for Amazon Rekognition.
  4491  //
  4492  // Returns metadata for faces in the specified collection. This metadata includes
  4493  // information such as the bounding box coordinates, the confidence (that the
  4494  // bounding box contains a face), and face ID. For an example, see Listing Faces
  4495  // in a Collection in the Amazon Rekognition Developer Guide.
  4496  //
  4497  // This operation requires permissions to perform the rekognition:ListFaces
  4498  // action.
  4499  //
  4500  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4501  // with awserr.Error's Code and Message methods to get detailed information about
  4502  // the error.
  4503  //
  4504  // See the AWS API reference guide for Amazon Rekognition's
  4505  // API operation ListFaces for usage and error information.
  4506  //
  4507  // Returned Error Types:
  4508  //   * InvalidParameterException
  4509  //   Input parameter violated a constraint. Validate your parameter before calling
  4510  //   the API operation again.
  4511  //
  4512  //   * AccessDeniedException
  4513  //   You are not authorized to perform the action.
  4514  //
  4515  //   * InternalServerError
  4516  //   Amazon Rekognition experienced a service issue. Try your call again.
  4517  //
  4518  //   * ThrottlingException
  4519  //   Amazon Rekognition is temporarily unable to process the request. Try your
  4520  //   call again.
  4521  //
  4522  //   * ProvisionedThroughputExceededException
  4523  //   The number of requests exceeded your throughput limit. If you want to increase
  4524  //   this limit, contact Amazon Rekognition.
  4525  //
  4526  //   * InvalidPaginationTokenException
  4527  //   Pagination token in the request is not valid.
  4528  //
  4529  //   * ResourceNotFoundException
  4530  //   The resource specified in the request cannot be found.
  4531  //
  4532  func (c *Rekognition) ListFaces(input *ListFacesInput) (*ListFacesOutput, error) {
  4533  	req, out := c.ListFacesRequest(input)
  4534  	return out, req.Send()
  4535  }
  4536  
  4537  // ListFacesWithContext is the same as ListFaces with the addition of
  4538  // the ability to pass a context and additional request options.
  4539  //
  4540  // See ListFaces for details on how to use this API operation.
  4541  //
  4542  // The context must be non-nil and will be used for request cancellation. If
  4543  // the context is nil a panic will occur. In the future the SDK may create
  4544  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4545  // for more information on using Contexts.
  4546  func (c *Rekognition) ListFacesWithContext(ctx aws.Context, input *ListFacesInput, opts ...request.Option) (*ListFacesOutput, error) {
  4547  	req, out := c.ListFacesRequest(input)
  4548  	req.SetContext(ctx)
  4549  	req.ApplyOptions(opts...)
  4550  	return out, req.Send()
  4551  }
  4552  
  4553  // ListFacesPages iterates over the pages of a ListFaces operation,
  4554  // calling the "fn" function with the response data for each page. To stop
  4555  // iterating, return false from the fn function.
  4556  //
  4557  // See ListFaces method for more information on how to use this operation.
  4558  //
  4559  // Note: This operation can generate multiple requests to a service.
  4560  //
  4561  //    // Example iterating over at most 3 pages of a ListFaces operation.
  4562  //    pageNum := 0
  4563  //    err := client.ListFacesPages(params,
  4564  //        func(page *rekognition.ListFacesOutput, lastPage bool) bool {
  4565  //            pageNum++
  4566  //            fmt.Println(page)
  4567  //            return pageNum <= 3
  4568  //        })
  4569  //
  4570  func (c *Rekognition) ListFacesPages(input *ListFacesInput, fn func(*ListFacesOutput, bool) bool) error {
  4571  	return c.ListFacesPagesWithContext(aws.BackgroundContext(), input, fn)
  4572  }
  4573  
  4574  // ListFacesPagesWithContext same as ListFacesPages except
  4575  // it takes a Context and allows setting request options on the pages.
  4576  //
  4577  // The context must be non-nil and will be used for request cancellation. If
  4578  // the context is nil a panic will occur. In the future the SDK may create
  4579  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4580  // for more information on using Contexts.
  4581  func (c *Rekognition) ListFacesPagesWithContext(ctx aws.Context, input *ListFacesInput, fn func(*ListFacesOutput, bool) bool, opts ...request.Option) error {
  4582  	p := request.Pagination{
  4583  		NewRequest: func() (*request.Request, error) {
  4584  			var inCpy *ListFacesInput
  4585  			if input != nil {
  4586  				tmp := *input
  4587  				inCpy = &tmp
  4588  			}
  4589  			req, _ := c.ListFacesRequest(inCpy)
  4590  			req.SetContext(ctx)
  4591  			req.ApplyOptions(opts...)
  4592  			return req, nil
  4593  		},
  4594  	}
  4595  
  4596  	for p.Next() {
  4597  		if !fn(p.Page().(*ListFacesOutput), !p.HasNextPage()) {
  4598  			break
  4599  		}
  4600  	}
  4601  
  4602  	return p.Err()
  4603  }
  4604  
  4605  const opListStreamProcessors = "ListStreamProcessors"
  4606  
  4607  // ListStreamProcessorsRequest generates a "aws/request.Request" representing the
  4608  // client's request for the ListStreamProcessors operation. The "output" return
  4609  // value will be populated with the request's response once the request completes
  4610  // successfully.
  4611  //
  4612  // Use "Send" method on the returned Request to send the API call to the service.
  4613  // the "output" return value is not valid until after Send returns without error.
  4614  //
  4615  // See ListStreamProcessors for more information on using the ListStreamProcessors
  4616  // API call, and error handling.
  4617  //
  4618  // This method is useful when you want to inject custom logic or configuration
  4619  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4620  //
  4621  //
  4622  //    // Example sending a request using the ListStreamProcessorsRequest method.
  4623  //    req, resp := client.ListStreamProcessorsRequest(params)
  4624  //
  4625  //    err := req.Send()
  4626  //    if err == nil { // resp is now filled
  4627  //        fmt.Println(resp)
  4628  //    }
  4629  func (c *Rekognition) ListStreamProcessorsRequest(input *ListStreamProcessorsInput) (req *request.Request, output *ListStreamProcessorsOutput) {
  4630  	op := &request.Operation{
  4631  		Name:       opListStreamProcessors,
  4632  		HTTPMethod: "POST",
  4633  		HTTPPath:   "/",
  4634  		Paginator: &request.Paginator{
  4635  			InputTokens:     []string{"NextToken"},
  4636  			OutputTokens:    []string{"NextToken"},
  4637  			LimitToken:      "MaxResults",
  4638  			TruncationToken: "",
  4639  		},
  4640  	}
  4641  
  4642  	if input == nil {
  4643  		input = &ListStreamProcessorsInput{}
  4644  	}
  4645  
  4646  	output = &ListStreamProcessorsOutput{}
  4647  	req = c.newRequest(op, input, output)
  4648  	return
  4649  }
  4650  
  4651  // ListStreamProcessors API operation for Amazon Rekognition.
  4652  //
  4653  // Gets a list of stream processors that you have created with CreateStreamProcessor.
  4654  //
  4655  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4656  // with awserr.Error's Code and Message methods to get detailed information about
  4657  // the error.
  4658  //
  4659  // See the AWS API reference guide for Amazon Rekognition's
  4660  // API operation ListStreamProcessors for usage and error information.
  4661  //
  4662  // Returned Error Types:
  4663  //   * AccessDeniedException
  4664  //   You are not authorized to perform the action.
  4665  //
  4666  //   * InternalServerError
  4667  //   Amazon Rekognition experienced a service issue. Try your call again.
  4668  //
  4669  //   * ThrottlingException
  4670  //   Amazon Rekognition is temporarily unable to process the request. Try your
  4671  //   call again.
  4672  //
  4673  //   * InvalidParameterException
  4674  //   Input parameter violated a constraint. Validate your parameter before calling
  4675  //   the API operation again.
  4676  //
  4677  //   * InvalidPaginationTokenException
  4678  //   Pagination token in the request is not valid.
  4679  //
  4680  //   * ProvisionedThroughputExceededException
  4681  //   The number of requests exceeded your throughput limit. If you want to increase
  4682  //   this limit, contact Amazon Rekognition.
  4683  //
  4684  func (c *Rekognition) ListStreamProcessors(input *ListStreamProcessorsInput) (*ListStreamProcessorsOutput, error) {
  4685  	req, out := c.ListStreamProcessorsRequest(input)
  4686  	return out, req.Send()
  4687  }
  4688  
  4689  // ListStreamProcessorsWithContext is the same as ListStreamProcessors with the addition of
  4690  // the ability to pass a context and additional request options.
  4691  //
  4692  // See ListStreamProcessors for details on how to use this API operation.
  4693  //
  4694  // The context must be non-nil and will be used for request cancellation. If
  4695  // the context is nil a panic will occur. In the future the SDK may create
  4696  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4697  // for more information on using Contexts.
  4698  func (c *Rekognition) ListStreamProcessorsWithContext(ctx aws.Context, input *ListStreamProcessorsInput, opts ...request.Option) (*ListStreamProcessorsOutput, error) {
  4699  	req, out := c.ListStreamProcessorsRequest(input)
  4700  	req.SetContext(ctx)
  4701  	req.ApplyOptions(opts...)
  4702  	return out, req.Send()
  4703  }
  4704  
  4705  // ListStreamProcessorsPages iterates over the pages of a ListStreamProcessors operation,
  4706  // calling the "fn" function with the response data for each page. To stop
  4707  // iterating, return false from the fn function.
  4708  //
  4709  // See ListStreamProcessors method for more information on how to use this operation.
  4710  //
  4711  // Note: This operation can generate multiple requests to a service.
  4712  //
  4713  //    // Example iterating over at most 3 pages of a ListStreamProcessors operation.
  4714  //    pageNum := 0
  4715  //    err := client.ListStreamProcessorsPages(params,
  4716  //        func(page *rekognition.ListStreamProcessorsOutput, lastPage bool) bool {
  4717  //            pageNum++
  4718  //            fmt.Println(page)
  4719  //            return pageNum <= 3
  4720  //        })
  4721  //
  4722  func (c *Rekognition) ListStreamProcessorsPages(input *ListStreamProcessorsInput, fn func(*ListStreamProcessorsOutput, bool) bool) error {
  4723  	return c.ListStreamProcessorsPagesWithContext(aws.BackgroundContext(), input, fn)
  4724  }
  4725  
  4726  // ListStreamProcessorsPagesWithContext same as ListStreamProcessorsPages except
  4727  // it takes a Context and allows setting request options on the pages.
  4728  //
  4729  // The context must be non-nil and will be used for request cancellation. If
  4730  // the context is nil a panic will occur. In the future the SDK may create
  4731  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4732  // for more information on using Contexts.
  4733  func (c *Rekognition) ListStreamProcessorsPagesWithContext(ctx aws.Context, input *ListStreamProcessorsInput, fn func(*ListStreamProcessorsOutput, bool) bool, opts ...request.Option) error {
  4734  	p := request.Pagination{
  4735  		NewRequest: func() (*request.Request, error) {
  4736  			var inCpy *ListStreamProcessorsInput
  4737  			if input != nil {
  4738  				tmp := *input
  4739  				inCpy = &tmp
  4740  			}
  4741  			req, _ := c.ListStreamProcessorsRequest(inCpy)
  4742  			req.SetContext(ctx)
  4743  			req.ApplyOptions(opts...)
  4744  			return req, nil
  4745  		},
  4746  	}
  4747  
  4748  	for p.Next() {
  4749  		if !fn(p.Page().(*ListStreamProcessorsOutput), !p.HasNextPage()) {
  4750  			break
  4751  		}
  4752  	}
  4753  
  4754  	return p.Err()
  4755  }
  4756  
  4757  const opListTagsForResource = "ListTagsForResource"
  4758  
  4759  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  4760  // client's request for the ListTagsForResource operation. The "output" return
  4761  // value will be populated with the request's response once the request completes
  4762  // successfully.
  4763  //
  4764  // Use "Send" method on the returned Request to send the API call to the service.
  4765  // the "output" return value is not valid until after Send returns without error.
  4766  //
  4767  // See ListTagsForResource for more information on using the ListTagsForResource
  4768  // API call, and error handling.
  4769  //
  4770  // This method is useful when you want to inject custom logic or configuration
  4771  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4772  //
  4773  //
  4774  //    // Example sending a request using the ListTagsForResourceRequest method.
  4775  //    req, resp := client.ListTagsForResourceRequest(params)
  4776  //
  4777  //    err := req.Send()
  4778  //    if err == nil { // resp is now filled
  4779  //        fmt.Println(resp)
  4780  //    }
  4781  func (c *Rekognition) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  4782  	op := &request.Operation{
  4783  		Name:       opListTagsForResource,
  4784  		HTTPMethod: "POST",
  4785  		HTTPPath:   "/",
  4786  	}
  4787  
  4788  	if input == nil {
  4789  		input = &ListTagsForResourceInput{}
  4790  	}
  4791  
  4792  	output = &ListTagsForResourceOutput{}
  4793  	req = c.newRequest(op, input, output)
  4794  	return
  4795  }
  4796  
  4797  // ListTagsForResource API operation for Amazon Rekognition.
  4798  //
  4799  // Returns a list of tags in an Amazon Rekognition collection, stream processor,
  4800  // or Custom Labels model.
  4801  //
  4802  // This operation requires permissions to perform the rekognition:ListTagsForResource
  4803  // action.
  4804  //
  4805  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4806  // with awserr.Error's Code and Message methods to get detailed information about
  4807  // the error.
  4808  //
  4809  // See the AWS API reference guide for Amazon Rekognition's
  4810  // API operation ListTagsForResource for usage and error information.
  4811  //
  4812  // Returned Error Types:
  4813  //   * ResourceNotFoundException
  4814  //   The resource specified in the request cannot be found.
  4815  //
  4816  //   * InvalidParameterException
  4817  //   Input parameter violated a constraint. Validate your parameter before calling
  4818  //   the API operation again.
  4819  //
  4820  //   * AccessDeniedException
  4821  //   You are not authorized to perform the action.
  4822  //
  4823  //   * InternalServerError
  4824  //   Amazon Rekognition experienced a service issue. Try your call again.
  4825  //
  4826  //   * ThrottlingException
  4827  //   Amazon Rekognition is temporarily unable to process the request. Try your
  4828  //   call again.
  4829  //
  4830  //   * ProvisionedThroughputExceededException
  4831  //   The number of requests exceeded your throughput limit. If you want to increase
  4832  //   this limit, contact Amazon Rekognition.
  4833  //
  4834  func (c *Rekognition) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  4835  	req, out := c.ListTagsForResourceRequest(input)
  4836  	return out, req.Send()
  4837  }
  4838  
  4839  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  4840  // the ability to pass a context and additional request options.
  4841  //
  4842  // See ListTagsForResource for details on how to use this API operation.
  4843  //
  4844  // The context must be non-nil and will be used for request cancellation. If
  4845  // the context is nil a panic will occur. In the future the SDK may create
  4846  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4847  // for more information on using Contexts.
  4848  func (c *Rekognition) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  4849  	req, out := c.ListTagsForResourceRequest(input)
  4850  	req.SetContext(ctx)
  4851  	req.ApplyOptions(opts...)
  4852  	return out, req.Send()
  4853  }
  4854  
  4855  const opRecognizeCelebrities = "RecognizeCelebrities"
  4856  
  4857  // RecognizeCelebritiesRequest generates a "aws/request.Request" representing the
  4858  // client's request for the RecognizeCelebrities operation. The "output" return
  4859  // value will be populated with the request's response once the request completes
  4860  // successfully.
  4861  //
  4862  // Use "Send" method on the returned Request to send the API call to the service.
  4863  // the "output" return value is not valid until after Send returns without error.
  4864  //
  4865  // See RecognizeCelebrities for more information on using the RecognizeCelebrities
  4866  // API call, and error handling.
  4867  //
  4868  // This method is useful when you want to inject custom logic or configuration
  4869  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4870  //
  4871  //
  4872  //    // Example sending a request using the RecognizeCelebritiesRequest method.
  4873  //    req, resp := client.RecognizeCelebritiesRequest(params)
  4874  //
  4875  //    err := req.Send()
  4876  //    if err == nil { // resp is now filled
  4877  //        fmt.Println(resp)
  4878  //    }
  4879  func (c *Rekognition) RecognizeCelebritiesRequest(input *RecognizeCelebritiesInput) (req *request.Request, output *RecognizeCelebritiesOutput) {
  4880  	op := &request.Operation{
  4881  		Name:       opRecognizeCelebrities,
  4882  		HTTPMethod: "POST",
  4883  		HTTPPath:   "/",
  4884  	}
  4885  
  4886  	if input == nil {
  4887  		input = &RecognizeCelebritiesInput{}
  4888  	}
  4889  
  4890  	output = &RecognizeCelebritiesOutput{}
  4891  	req = c.newRequest(op, input, output)
  4892  	return
  4893  }
  4894  
  4895  // RecognizeCelebrities API operation for Amazon Rekognition.
  4896  //
  4897  // Returns an array of celebrities recognized in the input image. For more information,
  4898  // see Recognizing Celebrities in the Amazon Rekognition Developer Guide.
  4899  //
  4900  // RecognizeCelebrities returns the 64 largest faces in the image. It lists
  4901  // recognized celebrities in the CelebrityFaces array and unrecognized faces
  4902  // in the UnrecognizedFaces array. RecognizeCelebrities doesn't return celebrities
  4903  // whose faces aren't among the largest 64 faces in the image.
  4904  //
  4905  // For each celebrity recognized, RecognizeCelebrities returns a Celebrity object.
  4906  // The Celebrity object contains the celebrity name, ID, URL links to additional
  4907  // information, match confidence, and a ComparedFace object that you can use
  4908  // to locate the celebrity's face on the image.
  4909  //
  4910  // Amazon Rekognition doesn't retain information about which images a celebrity
  4911  // has been recognized in. Your application must store this information and
  4912  // use the Celebrity ID property as a unique identifier for the celebrity. If
  4913  // you don't store the celebrity name or additional information URLs returned
  4914  // by RecognizeCelebrities, you will need the ID to identify the celebrity in
  4915  // a call to the GetCelebrityInfo operation.
  4916  //
  4917  // You pass the input image either as base64-encoded image bytes or as a reference
  4918  // to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon
  4919  // Rekognition operations, passing image bytes is not supported. The image must
  4920  // be either a PNG or JPEG formatted file.
  4921  //
  4922  // For an example, see Recognizing Celebrities in an Image in the Amazon Rekognition
  4923  // Developer Guide.
  4924  //
  4925  // This operation requires permissions to perform the rekognition:RecognizeCelebrities
  4926  // operation.
  4927  //
  4928  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4929  // with awserr.Error's Code and Message methods to get detailed information about
  4930  // the error.
  4931  //
  4932  // See the AWS API reference guide for Amazon Rekognition's
  4933  // API operation RecognizeCelebrities for usage and error information.
  4934  //
  4935  // Returned Error Types:
  4936  //   * InvalidS3ObjectException
  4937  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  4938  //
  4939  //   * InvalidParameterException
  4940  //   Input parameter violated a constraint. Validate your parameter before calling
  4941  //   the API operation again.
  4942  //
  4943  //   * InvalidImageFormatException
  4944  //   The provided image format is not supported.
  4945  //
  4946  //   * ImageTooLargeException
  4947  //   The input image size exceeds the allowed limit. If you are calling DetectProtectiveEquipment,
  4948  //   the image size or resolution exceeds the allowed limit. For more information,
  4949  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
  4950  //
  4951  //   * AccessDeniedException
  4952  //   You are not authorized to perform the action.
  4953  //
  4954  //   * InternalServerError
  4955  //   Amazon Rekognition experienced a service issue. Try your call again.
  4956  //
  4957  //   * ThrottlingException
  4958  //   Amazon Rekognition is temporarily unable to process the request. Try your
  4959  //   call again.
  4960  //
  4961  //   * ProvisionedThroughputExceededException
  4962  //   The number of requests exceeded your throughput limit. If you want to increase
  4963  //   this limit, contact Amazon Rekognition.
  4964  //
  4965  //   * InvalidImageFormatException
  4966  //   The provided image format is not supported.
  4967  //
  4968  func (c *Rekognition) RecognizeCelebrities(input *RecognizeCelebritiesInput) (*RecognizeCelebritiesOutput, error) {
  4969  	req, out := c.RecognizeCelebritiesRequest(input)
  4970  	return out, req.Send()
  4971  }
  4972  
  4973  // RecognizeCelebritiesWithContext is the same as RecognizeCelebrities with the addition of
  4974  // the ability to pass a context and additional request options.
  4975  //
  4976  // See RecognizeCelebrities for details on how to use this API operation.
  4977  //
  4978  // The context must be non-nil and will be used for request cancellation. If
  4979  // the context is nil a panic will occur. In the future the SDK may create
  4980  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4981  // for more information on using Contexts.
  4982  func (c *Rekognition) RecognizeCelebritiesWithContext(ctx aws.Context, input *RecognizeCelebritiesInput, opts ...request.Option) (*RecognizeCelebritiesOutput, error) {
  4983  	req, out := c.RecognizeCelebritiesRequest(input)
  4984  	req.SetContext(ctx)
  4985  	req.ApplyOptions(opts...)
  4986  	return out, req.Send()
  4987  }
  4988  
  4989  const opSearchFaces = "SearchFaces"
  4990  
  4991  // SearchFacesRequest generates a "aws/request.Request" representing the
  4992  // client's request for the SearchFaces operation. The "output" return
  4993  // value will be populated with the request's response once the request completes
  4994  // successfully.
  4995  //
  4996  // Use "Send" method on the returned Request to send the API call to the service.
  4997  // the "output" return value is not valid until after Send returns without error.
  4998  //
  4999  // See SearchFaces for more information on using the SearchFaces
  5000  // API call, and error handling.
  5001  //
  5002  // This method is useful when you want to inject custom logic or configuration
  5003  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5004  //
  5005  //
  5006  //    // Example sending a request using the SearchFacesRequest method.
  5007  //    req, resp := client.SearchFacesRequest(params)
  5008  //
  5009  //    err := req.Send()
  5010  //    if err == nil { // resp is now filled
  5011  //        fmt.Println(resp)
  5012  //    }
  5013  func (c *Rekognition) SearchFacesRequest(input *SearchFacesInput) (req *request.Request, output *SearchFacesOutput) {
  5014  	op := &request.Operation{
  5015  		Name:       opSearchFaces,
  5016  		HTTPMethod: "POST",
  5017  		HTTPPath:   "/",
  5018  	}
  5019  
  5020  	if input == nil {
  5021  		input = &SearchFacesInput{}
  5022  	}
  5023  
  5024  	output = &SearchFacesOutput{}
  5025  	req = c.newRequest(op, input, output)
  5026  	return
  5027  }
  5028  
  5029  // SearchFaces API operation for Amazon Rekognition.
  5030  //
  5031  // For a given input face ID, searches for matching faces in the collection
  5032  // the face belongs to. You get a face ID when you add a face to the collection
  5033  // using the IndexFaces operation. The operation compares the features of the
  5034  // input face with faces in the specified collection.
  5035  //
  5036  // You can also search faces without indexing faces by using the SearchFacesByImage
  5037  // operation.
  5038  //
  5039  // The operation response returns an array of faces that match, ordered by similarity
  5040  // score with the highest similarity first. More specifically, it is an array
  5041  // of metadata for each face match that is found. Along with the metadata, the
  5042  // response also includes a confidence value for each face match, indicating
  5043  // the confidence that the specific face matches the input face.
  5044  //
  5045  // For an example, see Searching for a Face Using Its Face ID in the Amazon
  5046  // Rekognition Developer Guide.
  5047  //
  5048  // This operation requires permissions to perform the rekognition:SearchFaces
  5049  // action.
  5050  //
  5051  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5052  // with awserr.Error's Code and Message methods to get detailed information about
  5053  // the error.
  5054  //
  5055  // See the AWS API reference guide for Amazon Rekognition's
  5056  // API operation SearchFaces for usage and error information.
  5057  //
  5058  // Returned Error Types:
  5059  //   * InvalidParameterException
  5060  //   Input parameter violated a constraint. Validate your parameter before calling
  5061  //   the API operation again.
  5062  //
  5063  //   * AccessDeniedException
  5064  //   You are not authorized to perform the action.
  5065  //
  5066  //   * InternalServerError
  5067  //   Amazon Rekognition experienced a service issue. Try your call again.
  5068  //
  5069  //   * ThrottlingException
  5070  //   Amazon Rekognition is temporarily unable to process the request. Try your
  5071  //   call again.
  5072  //
  5073  //   * ProvisionedThroughputExceededException
  5074  //   The number of requests exceeded your throughput limit. If you want to increase
  5075  //   this limit, contact Amazon Rekognition.
  5076  //
  5077  //   * ResourceNotFoundException
  5078  //   The resource specified in the request cannot be found.
  5079  //
  5080  func (c *Rekognition) SearchFaces(input *SearchFacesInput) (*SearchFacesOutput, error) {
  5081  	req, out := c.SearchFacesRequest(input)
  5082  	return out, req.Send()
  5083  }
  5084  
  5085  // SearchFacesWithContext is the same as SearchFaces with the addition of
  5086  // the ability to pass a context and additional request options.
  5087  //
  5088  // See SearchFaces for details on how to use this API operation.
  5089  //
  5090  // The context must be non-nil and will be used for request cancellation. If
  5091  // the context is nil a panic will occur. In the future the SDK may create
  5092  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5093  // for more information on using Contexts.
  5094  func (c *Rekognition) SearchFacesWithContext(ctx aws.Context, input *SearchFacesInput, opts ...request.Option) (*SearchFacesOutput, error) {
  5095  	req, out := c.SearchFacesRequest(input)
  5096  	req.SetContext(ctx)
  5097  	req.ApplyOptions(opts...)
  5098  	return out, req.Send()
  5099  }
  5100  
  5101  const opSearchFacesByImage = "SearchFacesByImage"
  5102  
  5103  // SearchFacesByImageRequest generates a "aws/request.Request" representing the
  5104  // client's request for the SearchFacesByImage operation. The "output" return
  5105  // value will be populated with the request's response once the request completes
  5106  // successfully.
  5107  //
  5108  // Use "Send" method on the returned Request to send the API call to the service.
  5109  // the "output" return value is not valid until after Send returns without error.
  5110  //
  5111  // See SearchFacesByImage for more information on using the SearchFacesByImage
  5112  // API call, and error handling.
  5113  //
  5114  // This method is useful when you want to inject custom logic or configuration
  5115  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5116  //
  5117  //
  5118  //    // Example sending a request using the SearchFacesByImageRequest method.
  5119  //    req, resp := client.SearchFacesByImageRequest(params)
  5120  //
  5121  //    err := req.Send()
  5122  //    if err == nil { // resp is now filled
  5123  //        fmt.Println(resp)
  5124  //    }
  5125  func (c *Rekognition) SearchFacesByImageRequest(input *SearchFacesByImageInput) (req *request.Request, output *SearchFacesByImageOutput) {
  5126  	op := &request.Operation{
  5127  		Name:       opSearchFacesByImage,
  5128  		HTTPMethod: "POST",
  5129  		HTTPPath:   "/",
  5130  	}
  5131  
  5132  	if input == nil {
  5133  		input = &SearchFacesByImageInput{}
  5134  	}
  5135  
  5136  	output = &SearchFacesByImageOutput{}
  5137  	req = c.newRequest(op, input, output)
  5138  	return
  5139  }
  5140  
  5141  // SearchFacesByImage API operation for Amazon Rekognition.
  5142  //
  5143  // For a given input image, first detects the largest face in the image, and
  5144  // then searches the specified collection for matching faces. The operation
  5145  // compares the features of the input face with faces in the specified collection.
  5146  //
  5147  // To search for all faces in an input image, you might first call the IndexFaces
  5148  // operation, and then use the face IDs returned in subsequent calls to the
  5149  // SearchFaces operation.
  5150  //
  5151  // You can also call the DetectFaces operation and use the bounding boxes in
  5152  // the response to make face crops, which then you can pass in to the SearchFacesByImage
  5153  // operation.
  5154  //
  5155  // You pass the input image either as base64-encoded image bytes or as a reference
  5156  // to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon
  5157  // Rekognition operations, passing image bytes is not supported. The image must
  5158  // be either a PNG or JPEG formatted file.
  5159  //
  5160  // The response returns an array of faces that match, ordered by similarity
  5161  // score with the highest similarity first. More specifically, it is an array
  5162  // of metadata for each face match found. Along with the metadata, the response
  5163  // also includes a similarity indicating how similar the face is to the input
  5164  // face. In the response, the operation also returns the bounding box (and a
  5165  // confidence level that the bounding box contains a face) of the face that
  5166  // Amazon Rekognition used for the input image.
  5167  //
  5168  // If no faces are detected in the input image, SearchFacesByImage returns an
  5169  // InvalidParameterException error.
  5170  //
  5171  // For an example, Searching for a Face Using an Image in the Amazon Rekognition
  5172  // Developer Guide.
  5173  //
  5174  // The QualityFilter input parameter allows you to filter out detected faces
  5175  // that don’t meet a required quality bar. The quality bar is based on a variety
  5176  // of common use cases. Use QualityFilter to set the quality bar for filtering
  5177  // by specifying LOW, MEDIUM, or HIGH. If you do not want to filter detected
  5178  // faces, specify NONE. The default value is NONE.
  5179  //
  5180  // To use quality filtering, you need a collection associated with version 3
  5181  // of the face model or higher. To get the version of the face model associated
  5182  // with a collection, call DescribeCollection.
  5183  //
  5184  // This operation requires permissions to perform the rekognition:SearchFacesByImage
  5185  // action.
  5186  //
  5187  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5188  // with awserr.Error's Code and Message methods to get detailed information about
  5189  // the error.
  5190  //
  5191  // See the AWS API reference guide for Amazon Rekognition's
  5192  // API operation SearchFacesByImage for usage and error information.
  5193  //
  5194  // Returned Error Types:
  5195  //   * InvalidS3ObjectException
  5196  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  5197  //
  5198  //   * InvalidParameterException
  5199  //   Input parameter violated a constraint. Validate your parameter before calling
  5200  //   the API operation again.
  5201  //
  5202  //   * ImageTooLargeException
  5203  //   The input image size exceeds the allowed limit. If you are calling DetectProtectiveEquipment,
  5204  //   the image size or resolution exceeds the allowed limit. For more information,
  5205  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
  5206  //
  5207  //   * AccessDeniedException
  5208  //   You are not authorized to perform the action.
  5209  //
  5210  //   * InternalServerError
  5211  //   Amazon Rekognition experienced a service issue. Try your call again.
  5212  //
  5213  //   * ThrottlingException
  5214  //   Amazon Rekognition is temporarily unable to process the request. Try your
  5215  //   call again.
  5216  //
  5217  //   * ProvisionedThroughputExceededException
  5218  //   The number of requests exceeded your throughput limit. If you want to increase
  5219  //   this limit, contact Amazon Rekognition.
  5220  //
  5221  //   * ResourceNotFoundException
  5222  //   The resource specified in the request cannot be found.
  5223  //
  5224  //   * InvalidImageFormatException
  5225  //   The provided image format is not supported.
  5226  //
  5227  func (c *Rekognition) SearchFacesByImage(input *SearchFacesByImageInput) (*SearchFacesByImageOutput, error) {
  5228  	req, out := c.SearchFacesByImageRequest(input)
  5229  	return out, req.Send()
  5230  }
  5231  
  5232  // SearchFacesByImageWithContext is the same as SearchFacesByImage with the addition of
  5233  // the ability to pass a context and additional request options.
  5234  //
  5235  // See SearchFacesByImage for details on how to use this API operation.
  5236  //
  5237  // The context must be non-nil and will be used for request cancellation. If
  5238  // the context is nil a panic will occur. In the future the SDK may create
  5239  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5240  // for more information on using Contexts.
  5241  func (c *Rekognition) SearchFacesByImageWithContext(ctx aws.Context, input *SearchFacesByImageInput, opts ...request.Option) (*SearchFacesByImageOutput, error) {
  5242  	req, out := c.SearchFacesByImageRequest(input)
  5243  	req.SetContext(ctx)
  5244  	req.ApplyOptions(opts...)
  5245  	return out, req.Send()
  5246  }
  5247  
  5248  const opStartCelebrityRecognition = "StartCelebrityRecognition"
  5249  
  5250  // StartCelebrityRecognitionRequest generates a "aws/request.Request" representing the
  5251  // client's request for the StartCelebrityRecognition operation. The "output" return
  5252  // value will be populated with the request's response once the request completes
  5253  // successfully.
  5254  //
  5255  // Use "Send" method on the returned Request to send the API call to the service.
  5256  // the "output" return value is not valid until after Send returns without error.
  5257  //
  5258  // See StartCelebrityRecognition for more information on using the StartCelebrityRecognition
  5259  // API call, and error handling.
  5260  //
  5261  // This method is useful when you want to inject custom logic or configuration
  5262  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5263  //
  5264  //
  5265  //    // Example sending a request using the StartCelebrityRecognitionRequest method.
  5266  //    req, resp := client.StartCelebrityRecognitionRequest(params)
  5267  //
  5268  //    err := req.Send()
  5269  //    if err == nil { // resp is now filled
  5270  //        fmt.Println(resp)
  5271  //    }
  5272  func (c *Rekognition) StartCelebrityRecognitionRequest(input *StartCelebrityRecognitionInput) (req *request.Request, output *StartCelebrityRecognitionOutput) {
  5273  	op := &request.Operation{
  5274  		Name:       opStartCelebrityRecognition,
  5275  		HTTPMethod: "POST",
  5276  		HTTPPath:   "/",
  5277  	}
  5278  
  5279  	if input == nil {
  5280  		input = &StartCelebrityRecognitionInput{}
  5281  	}
  5282  
  5283  	output = &StartCelebrityRecognitionOutput{}
  5284  	req = c.newRequest(op, input, output)
  5285  	return
  5286  }
  5287  
  5288  // StartCelebrityRecognition API operation for Amazon Rekognition.
  5289  //
  5290  // Starts asynchronous recognition of celebrities in a stored video.
  5291  //
  5292  // Amazon Rekognition Video can detect celebrities in a video must be stored
  5293  // in an Amazon S3 bucket. Use Video to specify the bucket name and the filename
  5294  // of the video. StartCelebrityRecognition returns a job identifier (JobId)
  5295  // which you use to get the results of the analysis. When celebrity recognition
  5296  // analysis is finished, Amazon Rekognition Video publishes a completion status
  5297  // to the Amazon Simple Notification Service topic that you specify in NotificationChannel.
  5298  // To get the results of the celebrity recognition analysis, first check that
  5299  // the status value published to the Amazon SNS topic is SUCCEEDED. If so, call
  5300  // GetCelebrityRecognition and pass the job identifier (JobId) from the initial
  5301  // call to StartCelebrityRecognition.
  5302  //
  5303  // For more information, see Recognizing Celebrities in the Amazon Rekognition
  5304  // Developer Guide.
  5305  //
  5306  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5307  // with awserr.Error's Code and Message methods to get detailed information about
  5308  // the error.
  5309  //
  5310  // See the AWS API reference guide for Amazon Rekognition's
  5311  // API operation StartCelebrityRecognition for usage and error information.
  5312  //
  5313  // Returned Error Types:
  5314  //   * AccessDeniedException
  5315  //   You are not authorized to perform the action.
  5316  //
  5317  //   * IdempotentParameterMismatchException
  5318  //   A ClientRequestToken input parameter was reused with an operation, but at
  5319  //   least one of the other input parameters is different from the previous call
  5320  //   to the operation.
  5321  //
  5322  //   * InvalidParameterException
  5323  //   Input parameter violated a constraint. Validate your parameter before calling
  5324  //   the API operation again.
  5325  //
  5326  //   * InvalidS3ObjectException
  5327  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  5328  //
  5329  //   * InternalServerError
  5330  //   Amazon Rekognition experienced a service issue. Try your call again.
  5331  //
  5332  //   * VideoTooLargeException
  5333  //   The file size or duration of the supplied media is too large. The maximum
  5334  //   file size is 10GB. The maximum duration is 6 hours.
  5335  //
  5336  //   * ProvisionedThroughputExceededException
  5337  //   The number of requests exceeded your throughput limit. If you want to increase
  5338  //   this limit, contact Amazon Rekognition.
  5339  //
  5340  //   * LimitExceededException
  5341  //   An Amazon Rekognition service limit was exceeded. For example, if you start
  5342  //   too many Amazon Rekognition Video jobs concurrently, calls to start operations
  5343  //   (StartLabelDetection, for example) will raise a LimitExceededException exception
  5344  //   (HTTP status code: 400) until the number of concurrently running jobs is
  5345  //   below the Amazon Rekognition service limit.
  5346  //
  5347  //   * ThrottlingException
  5348  //   Amazon Rekognition is temporarily unable to process the request. Try your
  5349  //   call again.
  5350  //
  5351  func (c *Rekognition) StartCelebrityRecognition(input *StartCelebrityRecognitionInput) (*StartCelebrityRecognitionOutput, error) {
  5352  	req, out := c.StartCelebrityRecognitionRequest(input)
  5353  	return out, req.Send()
  5354  }
  5355  
  5356  // StartCelebrityRecognitionWithContext is the same as StartCelebrityRecognition with the addition of
  5357  // the ability to pass a context and additional request options.
  5358  //
  5359  // See StartCelebrityRecognition for details on how to use this API operation.
  5360  //
  5361  // The context must be non-nil and will be used for request cancellation. If
  5362  // the context is nil a panic will occur. In the future the SDK may create
  5363  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5364  // for more information on using Contexts.
  5365  func (c *Rekognition) StartCelebrityRecognitionWithContext(ctx aws.Context, input *StartCelebrityRecognitionInput, opts ...request.Option) (*StartCelebrityRecognitionOutput, error) {
  5366  	req, out := c.StartCelebrityRecognitionRequest(input)
  5367  	req.SetContext(ctx)
  5368  	req.ApplyOptions(opts...)
  5369  	return out, req.Send()
  5370  }
  5371  
  5372  const opStartContentModeration = "StartContentModeration"
  5373  
  5374  // StartContentModerationRequest generates a "aws/request.Request" representing the
  5375  // client's request for the StartContentModeration operation. The "output" return
  5376  // value will be populated with the request's response once the request completes
  5377  // successfully.
  5378  //
  5379  // Use "Send" method on the returned Request to send the API call to the service.
  5380  // the "output" return value is not valid until after Send returns without error.
  5381  //
  5382  // See StartContentModeration for more information on using the StartContentModeration
  5383  // API call, and error handling.
  5384  //
  5385  // This method is useful when you want to inject custom logic or configuration
  5386  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5387  //
  5388  //
  5389  //    // Example sending a request using the StartContentModerationRequest method.
  5390  //    req, resp := client.StartContentModerationRequest(params)
  5391  //
  5392  //    err := req.Send()
  5393  //    if err == nil { // resp is now filled
  5394  //        fmt.Println(resp)
  5395  //    }
  5396  func (c *Rekognition) StartContentModerationRequest(input *StartContentModerationInput) (req *request.Request, output *StartContentModerationOutput) {
  5397  	op := &request.Operation{
  5398  		Name:       opStartContentModeration,
  5399  		HTTPMethod: "POST",
  5400  		HTTPPath:   "/",
  5401  	}
  5402  
  5403  	if input == nil {
  5404  		input = &StartContentModerationInput{}
  5405  	}
  5406  
  5407  	output = &StartContentModerationOutput{}
  5408  	req = c.newRequest(op, input, output)
  5409  	return
  5410  }
  5411  
  5412  // StartContentModeration API operation for Amazon Rekognition.
  5413  //
  5414  // Starts asynchronous detection of inappropriate, unwanted, or offensive content
  5415  // in a stored video. For a list of moderation labels in Amazon Rekognition,
  5416  // see Using the image and video moderation APIs (https://docs.aws.amazon.com/rekognition/latest/dg/moderation.html#moderation-api).
  5417  //
  5418  // Amazon Rekognition Video can moderate content in a video stored in an Amazon
  5419  // S3 bucket. Use Video to specify the bucket name and the filename of the video.
  5420  // StartContentModeration returns a job identifier (JobId) which you use to
  5421  // get the results of the analysis. When content analysis is finished, Amazon
  5422  // Rekognition Video publishes a completion status to the Amazon Simple Notification
  5423  // Service topic that you specify in NotificationChannel.
  5424  //
  5425  // To get the results of the content analysis, first check that the status value
  5426  // published to the Amazon SNS topic is SUCCEEDED. If so, call GetContentModeration
  5427  // and pass the job identifier (JobId) from the initial call to StartContentModeration.
  5428  //
  5429  // For more information, see Content moderation in the Amazon Rekognition Developer
  5430  // Guide.
  5431  //
  5432  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5433  // with awserr.Error's Code and Message methods to get detailed information about
  5434  // the error.
  5435  //
  5436  // See the AWS API reference guide for Amazon Rekognition's
  5437  // API operation StartContentModeration for usage and error information.
  5438  //
  5439  // Returned Error Types:
  5440  //   * AccessDeniedException
  5441  //   You are not authorized to perform the action.
  5442  //
  5443  //   * IdempotentParameterMismatchException
  5444  //   A ClientRequestToken input parameter was reused with an operation, but at
  5445  //   least one of the other input parameters is different from the previous call
  5446  //   to the operation.
  5447  //
  5448  //   * InvalidParameterException
  5449  //   Input parameter violated a constraint. Validate your parameter before calling
  5450  //   the API operation again.
  5451  //
  5452  //   * InvalidS3ObjectException
  5453  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  5454  //
  5455  //   * InternalServerError
  5456  //   Amazon Rekognition experienced a service issue. Try your call again.
  5457  //
  5458  //   * VideoTooLargeException
  5459  //   The file size or duration of the supplied media is too large. The maximum
  5460  //   file size is 10GB. The maximum duration is 6 hours.
  5461  //
  5462  //   * ProvisionedThroughputExceededException
  5463  //   The number of requests exceeded your throughput limit. If you want to increase
  5464  //   this limit, contact Amazon Rekognition.
  5465  //
  5466  //   * LimitExceededException
  5467  //   An Amazon Rekognition service limit was exceeded. For example, if you start
  5468  //   too many Amazon Rekognition Video jobs concurrently, calls to start operations
  5469  //   (StartLabelDetection, for example) will raise a LimitExceededException exception
  5470  //   (HTTP status code: 400) until the number of concurrently running jobs is
  5471  //   below the Amazon Rekognition service limit.
  5472  //
  5473  //   * ThrottlingException
  5474  //   Amazon Rekognition is temporarily unable to process the request. Try your
  5475  //   call again.
  5476  //
  5477  func (c *Rekognition) StartContentModeration(input *StartContentModerationInput) (*StartContentModerationOutput, error) {
  5478  	req, out := c.StartContentModerationRequest(input)
  5479  	return out, req.Send()
  5480  }
  5481  
  5482  // StartContentModerationWithContext is the same as StartContentModeration with the addition of
  5483  // the ability to pass a context and additional request options.
  5484  //
  5485  // See StartContentModeration for details on how to use this API operation.
  5486  //
  5487  // The context must be non-nil and will be used for request cancellation. If
  5488  // the context is nil a panic will occur. In the future the SDK may create
  5489  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5490  // for more information on using Contexts.
  5491  func (c *Rekognition) StartContentModerationWithContext(ctx aws.Context, input *StartContentModerationInput, opts ...request.Option) (*StartContentModerationOutput, error) {
  5492  	req, out := c.StartContentModerationRequest(input)
  5493  	req.SetContext(ctx)
  5494  	req.ApplyOptions(opts...)
  5495  	return out, req.Send()
  5496  }
  5497  
  5498  const opStartFaceDetection = "StartFaceDetection"
  5499  
  5500  // StartFaceDetectionRequest generates a "aws/request.Request" representing the
  5501  // client's request for the StartFaceDetection operation. The "output" return
  5502  // value will be populated with the request's response once the request completes
  5503  // successfully.
  5504  //
  5505  // Use "Send" method on the returned Request to send the API call to the service.
  5506  // the "output" return value is not valid until after Send returns without error.
  5507  //
  5508  // See StartFaceDetection for more information on using the StartFaceDetection
  5509  // API call, and error handling.
  5510  //
  5511  // This method is useful when you want to inject custom logic or configuration
  5512  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5513  //
  5514  //
  5515  //    // Example sending a request using the StartFaceDetectionRequest method.
  5516  //    req, resp := client.StartFaceDetectionRequest(params)
  5517  //
  5518  //    err := req.Send()
  5519  //    if err == nil { // resp is now filled
  5520  //        fmt.Println(resp)
  5521  //    }
  5522  func (c *Rekognition) StartFaceDetectionRequest(input *StartFaceDetectionInput) (req *request.Request, output *StartFaceDetectionOutput) {
  5523  	op := &request.Operation{
  5524  		Name:       opStartFaceDetection,
  5525  		HTTPMethod: "POST",
  5526  		HTTPPath:   "/",
  5527  	}
  5528  
  5529  	if input == nil {
  5530  		input = &StartFaceDetectionInput{}
  5531  	}
  5532  
  5533  	output = &StartFaceDetectionOutput{}
  5534  	req = c.newRequest(op, input, output)
  5535  	return
  5536  }
  5537  
  5538  // StartFaceDetection API operation for Amazon Rekognition.
  5539  //
  5540  // Starts asynchronous detection of faces in a stored video.
  5541  //
  5542  // Amazon Rekognition Video can detect faces in a video stored in an Amazon
  5543  // S3 bucket. Use Video to specify the bucket name and the filename of the video.
  5544  // StartFaceDetection returns a job identifier (JobId) that you use to get the
  5545  // results of the operation. When face detection is finished, Amazon Rekognition
  5546  // Video publishes a completion status to the Amazon Simple Notification Service
  5547  // topic that you specify in NotificationChannel. To get the results of the
  5548  // face detection operation, first check that the status value published to
  5549  // the Amazon SNS topic is SUCCEEDED. If so, call GetFaceDetection and pass
  5550  // the job identifier (JobId) from the initial call to StartFaceDetection.
  5551  //
  5552  // For more information, see Detecting Faces in a Stored Video in the Amazon
  5553  // Rekognition Developer Guide.
  5554  //
  5555  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5556  // with awserr.Error's Code and Message methods to get detailed information about
  5557  // the error.
  5558  //
  5559  // See the AWS API reference guide for Amazon Rekognition's
  5560  // API operation StartFaceDetection for usage and error information.
  5561  //
  5562  // Returned Error Types:
  5563  //   * AccessDeniedException
  5564  //   You are not authorized to perform the action.
  5565  //
  5566  //   * IdempotentParameterMismatchException
  5567  //   A ClientRequestToken input parameter was reused with an operation, but at
  5568  //   least one of the other input parameters is different from the previous call
  5569  //   to the operation.
  5570  //
  5571  //   * InvalidParameterException
  5572  //   Input parameter violated a constraint. Validate your parameter before calling
  5573  //   the API operation again.
  5574  //
  5575  //   * InvalidS3ObjectException
  5576  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  5577  //
  5578  //   * InternalServerError
  5579  //   Amazon Rekognition experienced a service issue. Try your call again.
  5580  //
  5581  //   * VideoTooLargeException
  5582  //   The file size or duration of the supplied media is too large. The maximum
  5583  //   file size is 10GB. The maximum duration is 6 hours.
  5584  //
  5585  //   * ProvisionedThroughputExceededException
  5586  //   The number of requests exceeded your throughput limit. If you want to increase
  5587  //   this limit, contact Amazon Rekognition.
  5588  //
  5589  //   * LimitExceededException
  5590  //   An Amazon Rekognition service limit was exceeded. For example, if you start
  5591  //   too many Amazon Rekognition Video jobs concurrently, calls to start operations
  5592  //   (StartLabelDetection, for example) will raise a LimitExceededException exception
  5593  //   (HTTP status code: 400) until the number of concurrently running jobs is
  5594  //   below the Amazon Rekognition service limit.
  5595  //
  5596  //   * ThrottlingException
  5597  //   Amazon Rekognition is temporarily unable to process the request. Try your
  5598  //   call again.
  5599  //
  5600  func (c *Rekognition) StartFaceDetection(input *StartFaceDetectionInput) (*StartFaceDetectionOutput, error) {
  5601  	req, out := c.StartFaceDetectionRequest(input)
  5602  	return out, req.Send()
  5603  }
  5604  
  5605  // StartFaceDetectionWithContext is the same as StartFaceDetection with the addition of
  5606  // the ability to pass a context and additional request options.
  5607  //
  5608  // See StartFaceDetection for details on how to use this API operation.
  5609  //
  5610  // The context must be non-nil and will be used for request cancellation. If
  5611  // the context is nil a panic will occur. In the future the SDK may create
  5612  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5613  // for more information on using Contexts.
  5614  func (c *Rekognition) StartFaceDetectionWithContext(ctx aws.Context, input *StartFaceDetectionInput, opts ...request.Option) (*StartFaceDetectionOutput, error) {
  5615  	req, out := c.StartFaceDetectionRequest(input)
  5616  	req.SetContext(ctx)
  5617  	req.ApplyOptions(opts...)
  5618  	return out, req.Send()
  5619  }
  5620  
  5621  const opStartFaceSearch = "StartFaceSearch"
  5622  
  5623  // StartFaceSearchRequest generates a "aws/request.Request" representing the
  5624  // client's request for the StartFaceSearch operation. The "output" return
  5625  // value will be populated with the request's response once the request completes
  5626  // successfully.
  5627  //
  5628  // Use "Send" method on the returned Request to send the API call to the service.
  5629  // the "output" return value is not valid until after Send returns without error.
  5630  //
  5631  // See StartFaceSearch for more information on using the StartFaceSearch
  5632  // API call, and error handling.
  5633  //
  5634  // This method is useful when you want to inject custom logic or configuration
  5635  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5636  //
  5637  //
  5638  //    // Example sending a request using the StartFaceSearchRequest method.
  5639  //    req, resp := client.StartFaceSearchRequest(params)
  5640  //
  5641  //    err := req.Send()
  5642  //    if err == nil { // resp is now filled
  5643  //        fmt.Println(resp)
  5644  //    }
  5645  func (c *Rekognition) StartFaceSearchRequest(input *StartFaceSearchInput) (req *request.Request, output *StartFaceSearchOutput) {
  5646  	op := &request.Operation{
  5647  		Name:       opStartFaceSearch,
  5648  		HTTPMethod: "POST",
  5649  		HTTPPath:   "/",
  5650  	}
  5651  
  5652  	if input == nil {
  5653  		input = &StartFaceSearchInput{}
  5654  	}
  5655  
  5656  	output = &StartFaceSearchOutput{}
  5657  	req = c.newRequest(op, input, output)
  5658  	return
  5659  }
  5660  
  5661  // StartFaceSearch API operation for Amazon Rekognition.
  5662  //
  5663  // Starts the asynchronous search for faces in a collection that match the faces
  5664  // of persons detected in a stored video.
  5665  //
  5666  // The video must be stored in an Amazon S3 bucket. Use Video to specify the
  5667  // bucket name and the filename of the video. StartFaceSearch returns a job
  5668  // identifier (JobId) which you use to get the search results once the search
  5669  // has completed. When searching is finished, Amazon Rekognition Video publishes
  5670  // a completion status to the Amazon Simple Notification Service topic that
  5671  // you specify in NotificationChannel. To get the search results, first check
  5672  // that the status value published to the Amazon SNS topic is SUCCEEDED. If
  5673  // so, call GetFaceSearch and pass the job identifier (JobId) from the initial
  5674  // call to StartFaceSearch. For more information, see procedure-person-search-videos.
  5675  //
  5676  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5677  // with awserr.Error's Code and Message methods to get detailed information about
  5678  // the error.
  5679  //
  5680  // See the AWS API reference guide for Amazon Rekognition's
  5681  // API operation StartFaceSearch for usage and error information.
  5682  //
  5683  // Returned Error Types:
  5684  //   * AccessDeniedException
  5685  //   You are not authorized to perform the action.
  5686  //
  5687  //   * IdempotentParameterMismatchException
  5688  //   A ClientRequestToken input parameter was reused with an operation, but at
  5689  //   least one of the other input parameters is different from the previous call
  5690  //   to the operation.
  5691  //
  5692  //   * InvalidParameterException
  5693  //   Input parameter violated a constraint. Validate your parameter before calling
  5694  //   the API operation again.
  5695  //
  5696  //   * InvalidS3ObjectException
  5697  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  5698  //
  5699  //   * InternalServerError
  5700  //   Amazon Rekognition experienced a service issue. Try your call again.
  5701  //
  5702  //   * VideoTooLargeException
  5703  //   The file size or duration of the supplied media is too large. The maximum
  5704  //   file size is 10GB. The maximum duration is 6 hours.
  5705  //
  5706  //   * ProvisionedThroughputExceededException
  5707  //   The number of requests exceeded your throughput limit. If you want to increase
  5708  //   this limit, contact Amazon Rekognition.
  5709  //
  5710  //   * LimitExceededException
  5711  //   An Amazon Rekognition service limit was exceeded. For example, if you start
  5712  //   too many Amazon Rekognition Video jobs concurrently, calls to start operations
  5713  //   (StartLabelDetection, for example) will raise a LimitExceededException exception
  5714  //   (HTTP status code: 400) until the number of concurrently running jobs is
  5715  //   below the Amazon Rekognition service limit.
  5716  //
  5717  //   * ResourceNotFoundException
  5718  //   The resource specified in the request cannot be found.
  5719  //
  5720  //   * ThrottlingException
  5721  //   Amazon Rekognition is temporarily unable to process the request. Try your
  5722  //   call again.
  5723  //
  5724  func (c *Rekognition) StartFaceSearch(input *StartFaceSearchInput) (*StartFaceSearchOutput, error) {
  5725  	req, out := c.StartFaceSearchRequest(input)
  5726  	return out, req.Send()
  5727  }
  5728  
  5729  // StartFaceSearchWithContext is the same as StartFaceSearch with the addition of
  5730  // the ability to pass a context and additional request options.
  5731  //
  5732  // See StartFaceSearch for details on how to use this API operation.
  5733  //
  5734  // The context must be non-nil and will be used for request cancellation. If
  5735  // the context is nil a panic will occur. In the future the SDK may create
  5736  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5737  // for more information on using Contexts.
  5738  func (c *Rekognition) StartFaceSearchWithContext(ctx aws.Context, input *StartFaceSearchInput, opts ...request.Option) (*StartFaceSearchOutput, error) {
  5739  	req, out := c.StartFaceSearchRequest(input)
  5740  	req.SetContext(ctx)
  5741  	req.ApplyOptions(opts...)
  5742  	return out, req.Send()
  5743  }
  5744  
  5745  const opStartLabelDetection = "StartLabelDetection"
  5746  
  5747  // StartLabelDetectionRequest generates a "aws/request.Request" representing the
  5748  // client's request for the StartLabelDetection operation. The "output" return
  5749  // value will be populated with the request's response once the request completes
  5750  // successfully.
  5751  //
  5752  // Use "Send" method on the returned Request to send the API call to the service.
  5753  // the "output" return value is not valid until after Send returns without error.
  5754  //
  5755  // See StartLabelDetection for more information on using the StartLabelDetection
  5756  // API call, and error handling.
  5757  //
  5758  // This method is useful when you want to inject custom logic or configuration
  5759  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5760  //
  5761  //
  5762  //    // Example sending a request using the StartLabelDetectionRequest method.
  5763  //    req, resp := client.StartLabelDetectionRequest(params)
  5764  //
  5765  //    err := req.Send()
  5766  //    if err == nil { // resp is now filled
  5767  //        fmt.Println(resp)
  5768  //    }
  5769  func (c *Rekognition) StartLabelDetectionRequest(input *StartLabelDetectionInput) (req *request.Request, output *StartLabelDetectionOutput) {
  5770  	op := &request.Operation{
  5771  		Name:       opStartLabelDetection,
  5772  		HTTPMethod: "POST",
  5773  		HTTPPath:   "/",
  5774  	}
  5775  
  5776  	if input == nil {
  5777  		input = &StartLabelDetectionInput{}
  5778  	}
  5779  
  5780  	output = &StartLabelDetectionOutput{}
  5781  	req = c.newRequest(op, input, output)
  5782  	return
  5783  }
  5784  
  5785  // StartLabelDetection API operation for Amazon Rekognition.
  5786  //
  5787  // Starts asynchronous detection of labels in a stored video.
  5788  //
  5789  // Amazon Rekognition Video can detect labels in a video. Labels are instances
  5790  // of real-world entities. This includes objects like flower, tree, and table;
  5791  // events like wedding, graduation, and birthday party; concepts like landscape,
  5792  // evening, and nature; and activities like a person getting out of a car or
  5793  // a person skiing.
  5794  //
  5795  // The video must be stored in an Amazon S3 bucket. Use Video to specify the
  5796  // bucket name and the filename of the video. StartLabelDetection returns a
  5797  // job identifier (JobId) which you use to get the results of the operation.
  5798  // When label detection is finished, Amazon Rekognition Video publishes a completion
  5799  // status to the Amazon Simple Notification Service topic that you specify in
  5800  // NotificationChannel.
  5801  //
  5802  // To get the results of the label detection operation, first check that the
  5803  // status value published to the Amazon SNS topic is SUCCEEDED. If so, call
  5804  // GetLabelDetection and pass the job identifier (JobId) from the initial call
  5805  // to StartLabelDetection.
  5806  //
  5807  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5808  // with awserr.Error's Code and Message methods to get detailed information about
  5809  // the error.
  5810  //
  5811  // See the AWS API reference guide for Amazon Rekognition's
  5812  // API operation StartLabelDetection for usage and error information.
  5813  //
  5814  // Returned Error Types:
  5815  //   * AccessDeniedException
  5816  //   You are not authorized to perform the action.
  5817  //
  5818  //   * IdempotentParameterMismatchException
  5819  //   A ClientRequestToken input parameter was reused with an operation, but at
  5820  //   least one of the other input parameters is different from the previous call
  5821  //   to the operation.
  5822  //
  5823  //   * InvalidParameterException
  5824  //   Input parameter violated a constraint. Validate your parameter before calling
  5825  //   the API operation again.
  5826  //
  5827  //   * InvalidS3ObjectException
  5828  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  5829  //
  5830  //   * InternalServerError
  5831  //   Amazon Rekognition experienced a service issue. Try your call again.
  5832  //
  5833  //   * VideoTooLargeException
  5834  //   The file size or duration of the supplied media is too large. The maximum
  5835  //   file size is 10GB. The maximum duration is 6 hours.
  5836  //
  5837  //   * ProvisionedThroughputExceededException
  5838  //   The number of requests exceeded your throughput limit. If you want to increase
  5839  //   this limit, contact Amazon Rekognition.
  5840  //
  5841  //   * LimitExceededException
  5842  //   An Amazon Rekognition service limit was exceeded. For example, if you start
  5843  //   too many Amazon Rekognition Video jobs concurrently, calls to start operations
  5844  //   (StartLabelDetection, for example) will raise a LimitExceededException exception
  5845  //   (HTTP status code: 400) until the number of concurrently running jobs is
  5846  //   below the Amazon Rekognition service limit.
  5847  //
  5848  //   * ThrottlingException
  5849  //   Amazon Rekognition is temporarily unable to process the request. Try your
  5850  //   call again.
  5851  //
  5852  func (c *Rekognition) StartLabelDetection(input *StartLabelDetectionInput) (*StartLabelDetectionOutput, error) {
  5853  	req, out := c.StartLabelDetectionRequest(input)
  5854  	return out, req.Send()
  5855  }
  5856  
  5857  // StartLabelDetectionWithContext is the same as StartLabelDetection with the addition of
  5858  // the ability to pass a context and additional request options.
  5859  //
  5860  // See StartLabelDetection for details on how to use this API operation.
  5861  //
  5862  // The context must be non-nil and will be used for request cancellation. If
  5863  // the context is nil a panic will occur. In the future the SDK may create
  5864  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5865  // for more information on using Contexts.
  5866  func (c *Rekognition) StartLabelDetectionWithContext(ctx aws.Context, input *StartLabelDetectionInput, opts ...request.Option) (*StartLabelDetectionOutput, error) {
  5867  	req, out := c.StartLabelDetectionRequest(input)
  5868  	req.SetContext(ctx)
  5869  	req.ApplyOptions(opts...)
  5870  	return out, req.Send()
  5871  }
  5872  
  5873  const opStartPersonTracking = "StartPersonTracking"
  5874  
  5875  // StartPersonTrackingRequest generates a "aws/request.Request" representing the
  5876  // client's request for the StartPersonTracking operation. The "output" return
  5877  // value will be populated with the request's response once the request completes
  5878  // successfully.
  5879  //
  5880  // Use "Send" method on the returned Request to send the API call to the service.
  5881  // the "output" return value is not valid until after Send returns without error.
  5882  //
  5883  // See StartPersonTracking for more information on using the StartPersonTracking
  5884  // API call, and error handling.
  5885  //
  5886  // This method is useful when you want to inject custom logic or configuration
  5887  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5888  //
  5889  //
  5890  //    // Example sending a request using the StartPersonTrackingRequest method.
  5891  //    req, resp := client.StartPersonTrackingRequest(params)
  5892  //
  5893  //    err := req.Send()
  5894  //    if err == nil { // resp is now filled
  5895  //        fmt.Println(resp)
  5896  //    }
  5897  func (c *Rekognition) StartPersonTrackingRequest(input *StartPersonTrackingInput) (req *request.Request, output *StartPersonTrackingOutput) {
  5898  	op := &request.Operation{
  5899  		Name:       opStartPersonTracking,
  5900  		HTTPMethod: "POST",
  5901  		HTTPPath:   "/",
  5902  	}
  5903  
  5904  	if input == nil {
  5905  		input = &StartPersonTrackingInput{}
  5906  	}
  5907  
  5908  	output = &StartPersonTrackingOutput{}
  5909  	req = c.newRequest(op, input, output)
  5910  	return
  5911  }
  5912  
  5913  // StartPersonTracking API operation for Amazon Rekognition.
  5914  //
  5915  // Starts the asynchronous tracking of a person's path in a stored video.
  5916  //
  5917  // Amazon Rekognition Video can track the path of people in a video stored in
  5918  // an Amazon S3 bucket. Use Video to specify the bucket name and the filename
  5919  // of the video. StartPersonTracking returns a job identifier (JobId) which
  5920  // you use to get the results of the operation. When label detection is finished,
  5921  // Amazon Rekognition publishes a completion status to the Amazon Simple Notification
  5922  // Service topic that you specify in NotificationChannel.
  5923  //
  5924  // To get the results of the person detection operation, first check that the
  5925  // status value published to the Amazon SNS topic is SUCCEEDED. If so, call
  5926  // GetPersonTracking and pass the job identifier (JobId) from the initial call
  5927  // to StartPersonTracking.
  5928  //
  5929  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5930  // with awserr.Error's Code and Message methods to get detailed information about
  5931  // the error.
  5932  //
  5933  // See the AWS API reference guide for Amazon Rekognition's
  5934  // API operation StartPersonTracking for usage and error information.
  5935  //
  5936  // Returned Error Types:
  5937  //   * AccessDeniedException
  5938  //   You are not authorized to perform the action.
  5939  //
  5940  //   * IdempotentParameterMismatchException
  5941  //   A ClientRequestToken input parameter was reused with an operation, but at
  5942  //   least one of the other input parameters is different from the previous call
  5943  //   to the operation.
  5944  //
  5945  //   * InvalidParameterException
  5946  //   Input parameter violated a constraint. Validate your parameter before calling
  5947  //   the API operation again.
  5948  //
  5949  //   * InvalidS3ObjectException
  5950  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  5951  //
  5952  //   * InternalServerError
  5953  //   Amazon Rekognition experienced a service issue. Try your call again.
  5954  //
  5955  //   * VideoTooLargeException
  5956  //   The file size or duration of the supplied media is too large. The maximum
  5957  //   file size is 10GB. The maximum duration is 6 hours.
  5958  //
  5959  //   * ProvisionedThroughputExceededException
  5960  //   The number of requests exceeded your throughput limit. If you want to increase
  5961  //   this limit, contact Amazon Rekognition.
  5962  //
  5963  //   * LimitExceededException
  5964  //   An Amazon Rekognition service limit was exceeded. For example, if you start
  5965  //   too many Amazon Rekognition Video jobs concurrently, calls to start operations
  5966  //   (StartLabelDetection, for example) will raise a LimitExceededException exception
  5967  //   (HTTP status code: 400) until the number of concurrently running jobs is
  5968  //   below the Amazon Rekognition service limit.
  5969  //
  5970  //   * ThrottlingException
  5971  //   Amazon Rekognition is temporarily unable to process the request. Try your
  5972  //   call again.
  5973  //
  5974  func (c *Rekognition) StartPersonTracking(input *StartPersonTrackingInput) (*StartPersonTrackingOutput, error) {
  5975  	req, out := c.StartPersonTrackingRequest(input)
  5976  	return out, req.Send()
  5977  }
  5978  
  5979  // StartPersonTrackingWithContext is the same as StartPersonTracking with the addition of
  5980  // the ability to pass a context and additional request options.
  5981  //
  5982  // See StartPersonTracking for details on how to use this API operation.
  5983  //
  5984  // The context must be non-nil and will be used for request cancellation. If
  5985  // the context is nil a panic will occur. In the future the SDK may create
  5986  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5987  // for more information on using Contexts.
  5988  func (c *Rekognition) StartPersonTrackingWithContext(ctx aws.Context, input *StartPersonTrackingInput, opts ...request.Option) (*StartPersonTrackingOutput, error) {
  5989  	req, out := c.StartPersonTrackingRequest(input)
  5990  	req.SetContext(ctx)
  5991  	req.ApplyOptions(opts...)
  5992  	return out, req.Send()
  5993  }
  5994  
  5995  const opStartProjectVersion = "StartProjectVersion"
  5996  
  5997  // StartProjectVersionRequest generates a "aws/request.Request" representing the
  5998  // client's request for the StartProjectVersion operation. The "output" return
  5999  // value will be populated with the request's response once the request completes
  6000  // successfully.
  6001  //
  6002  // Use "Send" method on the returned Request to send the API call to the service.
  6003  // the "output" return value is not valid until after Send returns without error.
  6004  //
  6005  // See StartProjectVersion for more information on using the StartProjectVersion
  6006  // API call, and error handling.
  6007  //
  6008  // This method is useful when you want to inject custom logic or configuration
  6009  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6010  //
  6011  //
  6012  //    // Example sending a request using the StartProjectVersionRequest method.
  6013  //    req, resp := client.StartProjectVersionRequest(params)
  6014  //
  6015  //    err := req.Send()
  6016  //    if err == nil { // resp is now filled
  6017  //        fmt.Println(resp)
  6018  //    }
  6019  func (c *Rekognition) StartProjectVersionRequest(input *StartProjectVersionInput) (req *request.Request, output *StartProjectVersionOutput) {
  6020  	op := &request.Operation{
  6021  		Name:       opStartProjectVersion,
  6022  		HTTPMethod: "POST",
  6023  		HTTPPath:   "/",
  6024  	}
  6025  
  6026  	if input == nil {
  6027  		input = &StartProjectVersionInput{}
  6028  	}
  6029  
  6030  	output = &StartProjectVersionOutput{}
  6031  	req = c.newRequest(op, input, output)
  6032  	return
  6033  }
  6034  
  6035  // StartProjectVersion API operation for Amazon Rekognition.
  6036  //
  6037  // Starts the running of the version of a model. Starting a model takes a while
  6038  // to complete. To check the current state of the model, use DescribeProjectVersions.
  6039  //
  6040  // Once the model is running, you can detect custom labels in new images by
  6041  // calling DetectCustomLabels.
  6042  //
  6043  // You are charged for the amount of time that the model is running. To stop
  6044  // a running model, call StopProjectVersion.
  6045  //
  6046  // This operation requires permissions to perform the rekognition:StartProjectVersion
  6047  // action.
  6048  //
  6049  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6050  // with awserr.Error's Code and Message methods to get detailed information about
  6051  // the error.
  6052  //
  6053  // See the AWS API reference guide for Amazon Rekognition's
  6054  // API operation StartProjectVersion for usage and error information.
  6055  //
  6056  // Returned Error Types:
  6057  //   * ResourceNotFoundException
  6058  //   The resource specified in the request cannot be found.
  6059  //
  6060  //   * ResourceInUseException
  6061  //   The specified resource is already being used.
  6062  //
  6063  //   * LimitExceededException
  6064  //   An Amazon Rekognition service limit was exceeded. For example, if you start
  6065  //   too many Amazon Rekognition Video jobs concurrently, calls to start operations
  6066  //   (StartLabelDetection, for example) will raise a LimitExceededException exception
  6067  //   (HTTP status code: 400) until the number of concurrently running jobs is
  6068  //   below the Amazon Rekognition service limit.
  6069  //
  6070  //   * InvalidParameterException
  6071  //   Input parameter violated a constraint. Validate your parameter before calling
  6072  //   the API operation again.
  6073  //
  6074  //   * AccessDeniedException
  6075  //   You are not authorized to perform the action.
  6076  //
  6077  //   * InternalServerError
  6078  //   Amazon Rekognition experienced a service issue. Try your call again.
  6079  //
  6080  //   * ThrottlingException
  6081  //   Amazon Rekognition is temporarily unable to process the request. Try your
  6082  //   call again.
  6083  //
  6084  //   * ProvisionedThroughputExceededException
  6085  //   The number of requests exceeded your throughput limit. If you want to increase
  6086  //   this limit, contact Amazon Rekognition.
  6087  //
  6088  func (c *Rekognition) StartProjectVersion(input *StartProjectVersionInput) (*StartProjectVersionOutput, error) {
  6089  	req, out := c.StartProjectVersionRequest(input)
  6090  	return out, req.Send()
  6091  }
  6092  
  6093  // StartProjectVersionWithContext is the same as StartProjectVersion with the addition of
  6094  // the ability to pass a context and additional request options.
  6095  //
  6096  // See StartProjectVersion for details on how to use this API operation.
  6097  //
  6098  // The context must be non-nil and will be used for request cancellation. If
  6099  // the context is nil a panic will occur. In the future the SDK may create
  6100  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6101  // for more information on using Contexts.
  6102  func (c *Rekognition) StartProjectVersionWithContext(ctx aws.Context, input *StartProjectVersionInput, opts ...request.Option) (*StartProjectVersionOutput, error) {
  6103  	req, out := c.StartProjectVersionRequest(input)
  6104  	req.SetContext(ctx)
  6105  	req.ApplyOptions(opts...)
  6106  	return out, req.Send()
  6107  }
  6108  
  6109  const opStartSegmentDetection = "StartSegmentDetection"
  6110  
  6111  // StartSegmentDetectionRequest generates a "aws/request.Request" representing the
  6112  // client's request for the StartSegmentDetection operation. The "output" return
  6113  // value will be populated with the request's response once the request completes
  6114  // successfully.
  6115  //
  6116  // Use "Send" method on the returned Request to send the API call to the service.
  6117  // the "output" return value is not valid until after Send returns without error.
  6118  //
  6119  // See StartSegmentDetection for more information on using the StartSegmentDetection
  6120  // API call, and error handling.
  6121  //
  6122  // This method is useful when you want to inject custom logic or configuration
  6123  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6124  //
  6125  //
  6126  //    // Example sending a request using the StartSegmentDetectionRequest method.
  6127  //    req, resp := client.StartSegmentDetectionRequest(params)
  6128  //
  6129  //    err := req.Send()
  6130  //    if err == nil { // resp is now filled
  6131  //        fmt.Println(resp)
  6132  //    }
  6133  func (c *Rekognition) StartSegmentDetectionRequest(input *StartSegmentDetectionInput) (req *request.Request, output *StartSegmentDetectionOutput) {
  6134  	op := &request.Operation{
  6135  		Name:       opStartSegmentDetection,
  6136  		HTTPMethod: "POST",
  6137  		HTTPPath:   "/",
  6138  	}
  6139  
  6140  	if input == nil {
  6141  		input = &StartSegmentDetectionInput{}
  6142  	}
  6143  
  6144  	output = &StartSegmentDetectionOutput{}
  6145  	req = c.newRequest(op, input, output)
  6146  	return
  6147  }
  6148  
  6149  // StartSegmentDetection API operation for Amazon Rekognition.
  6150  //
  6151  // Starts asynchronous detection of segment detection in a stored video.
  6152  //
  6153  // Amazon Rekognition Video can detect segments in a video stored in an Amazon
  6154  // S3 bucket. Use Video to specify the bucket name and the filename of the video.
  6155  // StartSegmentDetection returns a job identifier (JobId) which you use to get
  6156  // the results of the operation. When segment detection is finished, Amazon
  6157  // Rekognition Video publishes a completion status to the Amazon Simple Notification
  6158  // Service topic that you specify in NotificationChannel.
  6159  //
  6160  // You can use the Filters (StartSegmentDetectionFilters) input parameter to
  6161  // specify the minimum detection confidence returned in the response. Within
  6162  // Filters, use ShotFilter (StartShotDetectionFilter) to filter detected shots.
  6163  // Use TechnicalCueFilter (StartTechnicalCueDetectionFilter) to filter technical
  6164  // cues.
  6165  //
  6166  // To get the results of the segment detection operation, first check that the
  6167  // status value published to the Amazon SNS topic is SUCCEEDED. if so, call
  6168  // GetSegmentDetection and pass the job identifier (JobId) from the initial
  6169  // call to StartSegmentDetection.
  6170  //
  6171  // For more information, see Detecting Video Segments in Stored Video in the
  6172  // Amazon Rekognition Developer Guide.
  6173  //
  6174  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6175  // with awserr.Error's Code and Message methods to get detailed information about
  6176  // the error.
  6177  //
  6178  // See the AWS API reference guide for Amazon Rekognition's
  6179  // API operation StartSegmentDetection for usage and error information.
  6180  //
  6181  // Returned Error Types:
  6182  //   * AccessDeniedException
  6183  //   You are not authorized to perform the action.
  6184  //
  6185  //   * IdempotentParameterMismatchException
  6186  //   A ClientRequestToken input parameter was reused with an operation, but at
  6187  //   least one of the other input parameters is different from the previous call
  6188  //   to the operation.
  6189  //
  6190  //   * InvalidParameterException
  6191  //   Input parameter violated a constraint. Validate your parameter before calling
  6192  //   the API operation again.
  6193  //
  6194  //   * InvalidS3ObjectException
  6195  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  6196  //
  6197  //   * InternalServerError
  6198  //   Amazon Rekognition experienced a service issue. Try your call again.
  6199  //
  6200  //   * VideoTooLargeException
  6201  //   The file size or duration of the supplied media is too large. The maximum
  6202  //   file size is 10GB. The maximum duration is 6 hours.
  6203  //
  6204  //   * ProvisionedThroughputExceededException
  6205  //   The number of requests exceeded your throughput limit. If you want to increase
  6206  //   this limit, contact Amazon Rekognition.
  6207  //
  6208  //   * LimitExceededException
  6209  //   An Amazon Rekognition service limit was exceeded. For example, if you start
  6210  //   too many Amazon Rekognition Video jobs concurrently, calls to start operations
  6211  //   (StartLabelDetection, for example) will raise a LimitExceededException exception
  6212  //   (HTTP status code: 400) until the number of concurrently running jobs is
  6213  //   below the Amazon Rekognition service limit.
  6214  //
  6215  //   * ThrottlingException
  6216  //   Amazon Rekognition is temporarily unable to process the request. Try your
  6217  //   call again.
  6218  //
  6219  func (c *Rekognition) StartSegmentDetection(input *StartSegmentDetectionInput) (*StartSegmentDetectionOutput, error) {
  6220  	req, out := c.StartSegmentDetectionRequest(input)
  6221  	return out, req.Send()
  6222  }
  6223  
  6224  // StartSegmentDetectionWithContext is the same as StartSegmentDetection with the addition of
  6225  // the ability to pass a context and additional request options.
  6226  //
  6227  // See StartSegmentDetection for details on how to use this API operation.
  6228  //
  6229  // The context must be non-nil and will be used for request cancellation. If
  6230  // the context is nil a panic will occur. In the future the SDK may create
  6231  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6232  // for more information on using Contexts.
  6233  func (c *Rekognition) StartSegmentDetectionWithContext(ctx aws.Context, input *StartSegmentDetectionInput, opts ...request.Option) (*StartSegmentDetectionOutput, error) {
  6234  	req, out := c.StartSegmentDetectionRequest(input)
  6235  	req.SetContext(ctx)
  6236  	req.ApplyOptions(opts...)
  6237  	return out, req.Send()
  6238  }
  6239  
  6240  const opStartStreamProcessor = "StartStreamProcessor"
  6241  
  6242  // StartStreamProcessorRequest generates a "aws/request.Request" representing the
  6243  // client's request for the StartStreamProcessor operation. The "output" return
  6244  // value will be populated with the request's response once the request completes
  6245  // successfully.
  6246  //
  6247  // Use "Send" method on the returned Request to send the API call to the service.
  6248  // the "output" return value is not valid until after Send returns without error.
  6249  //
  6250  // See StartStreamProcessor for more information on using the StartStreamProcessor
  6251  // API call, and error handling.
  6252  //
  6253  // This method is useful when you want to inject custom logic or configuration
  6254  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6255  //
  6256  //
  6257  //    // Example sending a request using the StartStreamProcessorRequest method.
  6258  //    req, resp := client.StartStreamProcessorRequest(params)
  6259  //
  6260  //    err := req.Send()
  6261  //    if err == nil { // resp is now filled
  6262  //        fmt.Println(resp)
  6263  //    }
  6264  func (c *Rekognition) StartStreamProcessorRequest(input *StartStreamProcessorInput) (req *request.Request, output *StartStreamProcessorOutput) {
  6265  	op := &request.Operation{
  6266  		Name:       opStartStreamProcessor,
  6267  		HTTPMethod: "POST",
  6268  		HTTPPath:   "/",
  6269  	}
  6270  
  6271  	if input == nil {
  6272  		input = &StartStreamProcessorInput{}
  6273  	}
  6274  
  6275  	output = &StartStreamProcessorOutput{}
  6276  	req = c.newRequest(op, input, output)
  6277  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6278  	return
  6279  }
  6280  
  6281  // StartStreamProcessor API operation for Amazon Rekognition.
  6282  //
  6283  // Starts processing a stream processor. You create a stream processor by calling
  6284  // CreateStreamProcessor. To tell StartStreamProcessor which stream processor
  6285  // to start, use the value of the Name field specified in the call to CreateStreamProcessor.
  6286  //
  6287  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6288  // with awserr.Error's Code and Message methods to get detailed information about
  6289  // the error.
  6290  //
  6291  // See the AWS API reference guide for Amazon Rekognition's
  6292  // API operation StartStreamProcessor for usage and error information.
  6293  //
  6294  // Returned Error Types:
  6295  //   * AccessDeniedException
  6296  //   You are not authorized to perform the action.
  6297  //
  6298  //   * InternalServerError
  6299  //   Amazon Rekognition experienced a service issue. Try your call again.
  6300  //
  6301  //   * ThrottlingException
  6302  //   Amazon Rekognition is temporarily unable to process the request. Try your
  6303  //   call again.
  6304  //
  6305  //   * InvalidParameterException
  6306  //   Input parameter violated a constraint. Validate your parameter before calling
  6307  //   the API operation again.
  6308  //
  6309  //   * ResourceNotFoundException
  6310  //   The resource specified in the request cannot be found.
  6311  //
  6312  //   * ResourceInUseException
  6313  //   The specified resource is already being used.
  6314  //
  6315  //   * ProvisionedThroughputExceededException
  6316  //   The number of requests exceeded your throughput limit. If you want to increase
  6317  //   this limit, contact Amazon Rekognition.
  6318  //
  6319  func (c *Rekognition) StartStreamProcessor(input *StartStreamProcessorInput) (*StartStreamProcessorOutput, error) {
  6320  	req, out := c.StartStreamProcessorRequest(input)
  6321  	return out, req.Send()
  6322  }
  6323  
  6324  // StartStreamProcessorWithContext is the same as StartStreamProcessor with the addition of
  6325  // the ability to pass a context and additional request options.
  6326  //
  6327  // See StartStreamProcessor for details on how to use this API operation.
  6328  //
  6329  // The context must be non-nil and will be used for request cancellation. If
  6330  // the context is nil a panic will occur. In the future the SDK may create
  6331  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6332  // for more information on using Contexts.
  6333  func (c *Rekognition) StartStreamProcessorWithContext(ctx aws.Context, input *StartStreamProcessorInput, opts ...request.Option) (*StartStreamProcessorOutput, error) {
  6334  	req, out := c.StartStreamProcessorRequest(input)
  6335  	req.SetContext(ctx)
  6336  	req.ApplyOptions(opts...)
  6337  	return out, req.Send()
  6338  }
  6339  
  6340  const opStartTextDetection = "StartTextDetection"
  6341  
  6342  // StartTextDetectionRequest generates a "aws/request.Request" representing the
  6343  // client's request for the StartTextDetection operation. The "output" return
  6344  // value will be populated with the request's response once the request completes
  6345  // successfully.
  6346  //
  6347  // Use "Send" method on the returned Request to send the API call to the service.
  6348  // the "output" return value is not valid until after Send returns without error.
  6349  //
  6350  // See StartTextDetection for more information on using the StartTextDetection
  6351  // API call, and error handling.
  6352  //
  6353  // This method is useful when you want to inject custom logic or configuration
  6354  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6355  //
  6356  //
  6357  //    // Example sending a request using the StartTextDetectionRequest method.
  6358  //    req, resp := client.StartTextDetectionRequest(params)
  6359  //
  6360  //    err := req.Send()
  6361  //    if err == nil { // resp is now filled
  6362  //        fmt.Println(resp)
  6363  //    }
  6364  func (c *Rekognition) StartTextDetectionRequest(input *StartTextDetectionInput) (req *request.Request, output *StartTextDetectionOutput) {
  6365  	op := &request.Operation{
  6366  		Name:       opStartTextDetection,
  6367  		HTTPMethod: "POST",
  6368  		HTTPPath:   "/",
  6369  	}
  6370  
  6371  	if input == nil {
  6372  		input = &StartTextDetectionInput{}
  6373  	}
  6374  
  6375  	output = &StartTextDetectionOutput{}
  6376  	req = c.newRequest(op, input, output)
  6377  	return
  6378  }
  6379  
  6380  // StartTextDetection API operation for Amazon Rekognition.
  6381  //
  6382  // Starts asynchronous detection of text in a stored video.
  6383  //
  6384  // Amazon Rekognition Video can detect text in a video stored in an Amazon S3
  6385  // bucket. Use Video to specify the bucket name and the filename of the video.
  6386  // StartTextDetection returns a job identifier (JobId) which you use to get
  6387  // the results of the operation. When text detection is finished, Amazon Rekognition
  6388  // Video publishes a completion status to the Amazon Simple Notification Service
  6389  // topic that you specify in NotificationChannel.
  6390  //
  6391  // To get the results of the text detection operation, first check that the
  6392  // status value published to the Amazon SNS topic is SUCCEEDED. if so, call
  6393  // GetTextDetection and pass the job identifier (JobId) from the initial call
  6394  // to StartTextDetection.
  6395  //
  6396  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6397  // with awserr.Error's Code and Message methods to get detailed information about
  6398  // the error.
  6399  //
  6400  // See the AWS API reference guide for Amazon Rekognition's
  6401  // API operation StartTextDetection for usage and error information.
  6402  //
  6403  // Returned Error Types:
  6404  //   * AccessDeniedException
  6405  //   You are not authorized to perform the action.
  6406  //
  6407  //   * IdempotentParameterMismatchException
  6408  //   A ClientRequestToken input parameter was reused with an operation, but at
  6409  //   least one of the other input parameters is different from the previous call
  6410  //   to the operation.
  6411  //
  6412  //   * InvalidParameterException
  6413  //   Input parameter violated a constraint. Validate your parameter before calling
  6414  //   the API operation again.
  6415  //
  6416  //   * InvalidS3ObjectException
  6417  //   Amazon Rekognition is unable to access the S3 object specified in the request.
  6418  //
  6419  //   * InternalServerError
  6420  //   Amazon Rekognition experienced a service issue. Try your call again.
  6421  //
  6422  //   * VideoTooLargeException
  6423  //   The file size or duration of the supplied media is too large. The maximum
  6424  //   file size is 10GB. The maximum duration is 6 hours.
  6425  //
  6426  //   * ProvisionedThroughputExceededException
  6427  //   The number of requests exceeded your throughput limit. If you want to increase
  6428  //   this limit, contact Amazon Rekognition.
  6429  //
  6430  //   * LimitExceededException
  6431  //   An Amazon Rekognition service limit was exceeded. For example, if you start
  6432  //   too many Amazon Rekognition Video jobs concurrently, calls to start operations
  6433  //   (StartLabelDetection, for example) will raise a LimitExceededException exception
  6434  //   (HTTP status code: 400) until the number of concurrently running jobs is
  6435  //   below the Amazon Rekognition service limit.
  6436  //
  6437  //   * ThrottlingException
  6438  //   Amazon Rekognition is temporarily unable to process the request. Try your
  6439  //   call again.
  6440  //
  6441  func (c *Rekognition) StartTextDetection(input *StartTextDetectionInput) (*StartTextDetectionOutput, error) {
  6442  	req, out := c.StartTextDetectionRequest(input)
  6443  	return out, req.Send()
  6444  }
  6445  
  6446  // StartTextDetectionWithContext is the same as StartTextDetection with the addition of
  6447  // the ability to pass a context and additional request options.
  6448  //
  6449  // See StartTextDetection for details on how to use this API operation.
  6450  //
  6451  // The context must be non-nil and will be used for request cancellation. If
  6452  // the context is nil a panic will occur. In the future the SDK may create
  6453  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6454  // for more information on using Contexts.
  6455  func (c *Rekognition) StartTextDetectionWithContext(ctx aws.Context, input *StartTextDetectionInput, opts ...request.Option) (*StartTextDetectionOutput, error) {
  6456  	req, out := c.StartTextDetectionRequest(input)
  6457  	req.SetContext(ctx)
  6458  	req.ApplyOptions(opts...)
  6459  	return out, req.Send()
  6460  }
  6461  
  6462  const opStopProjectVersion = "StopProjectVersion"
  6463  
  6464  // StopProjectVersionRequest generates a "aws/request.Request" representing the
  6465  // client's request for the StopProjectVersion operation. The "output" return
  6466  // value will be populated with the request's response once the request completes
  6467  // successfully.
  6468  //
  6469  // Use "Send" method on the returned Request to send the API call to the service.
  6470  // the "output" return value is not valid until after Send returns without error.
  6471  //
  6472  // See StopProjectVersion for more information on using the StopProjectVersion
  6473  // API call, and error handling.
  6474  //
  6475  // This method is useful when you want to inject custom logic or configuration
  6476  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6477  //
  6478  //
  6479  //    // Example sending a request using the StopProjectVersionRequest method.
  6480  //    req, resp := client.StopProjectVersionRequest(params)
  6481  //
  6482  //    err := req.Send()
  6483  //    if err == nil { // resp is now filled
  6484  //        fmt.Println(resp)
  6485  //    }
  6486  func (c *Rekognition) StopProjectVersionRequest(input *StopProjectVersionInput) (req *request.Request, output *StopProjectVersionOutput) {
  6487  	op := &request.Operation{
  6488  		Name:       opStopProjectVersion,
  6489  		HTTPMethod: "POST",
  6490  		HTTPPath:   "/",
  6491  	}
  6492  
  6493  	if input == nil {
  6494  		input = &StopProjectVersionInput{}
  6495  	}
  6496  
  6497  	output = &StopProjectVersionOutput{}
  6498  	req = c.newRequest(op, input, output)
  6499  	return
  6500  }
  6501  
  6502  // StopProjectVersion API operation for Amazon Rekognition.
  6503  //
  6504  // Stops a running model. The operation might take a while to complete. To check
  6505  // the current status, call DescribeProjectVersions.
  6506  //
  6507  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6508  // with awserr.Error's Code and Message methods to get detailed information about
  6509  // the error.
  6510  //
  6511  // See the AWS API reference guide for Amazon Rekognition's
  6512  // API operation StopProjectVersion for usage and error information.
  6513  //
  6514  // Returned Error Types:
  6515  //   * ResourceNotFoundException
  6516  //   The resource specified in the request cannot be found.
  6517  //
  6518  //   * ResourceInUseException
  6519  //   The specified resource is already being used.
  6520  //
  6521  //   * InvalidParameterException
  6522  //   Input parameter violated a constraint. Validate your parameter before calling
  6523  //   the API operation again.
  6524  //
  6525  //   * AccessDeniedException
  6526  //   You are not authorized to perform the action.
  6527  //
  6528  //   * InternalServerError
  6529  //   Amazon Rekognition experienced a service issue. Try your call again.
  6530  //
  6531  //   * ThrottlingException
  6532  //   Amazon Rekognition is temporarily unable to process the request. Try your
  6533  //   call again.
  6534  //
  6535  //   * ProvisionedThroughputExceededException
  6536  //   The number of requests exceeded your throughput limit. If you want to increase
  6537  //   this limit, contact Amazon Rekognition.
  6538  //
  6539  func (c *Rekognition) StopProjectVersion(input *StopProjectVersionInput) (*StopProjectVersionOutput, error) {
  6540  	req, out := c.StopProjectVersionRequest(input)
  6541  	return out, req.Send()
  6542  }
  6543  
  6544  // StopProjectVersionWithContext is the same as StopProjectVersion with the addition of
  6545  // the ability to pass a context and additional request options.
  6546  //
  6547  // See StopProjectVersion for details on how to use this API operation.
  6548  //
  6549  // The context must be non-nil and will be used for request cancellation. If
  6550  // the context is nil a panic will occur. In the future the SDK may create
  6551  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6552  // for more information on using Contexts.
  6553  func (c *Rekognition) StopProjectVersionWithContext(ctx aws.Context, input *StopProjectVersionInput, opts ...request.Option) (*StopProjectVersionOutput, error) {
  6554  	req, out := c.StopProjectVersionRequest(input)
  6555  	req.SetContext(ctx)
  6556  	req.ApplyOptions(opts...)
  6557  	return out, req.Send()
  6558  }
  6559  
  6560  const opStopStreamProcessor = "StopStreamProcessor"
  6561  
  6562  // StopStreamProcessorRequest generates a "aws/request.Request" representing the
  6563  // client's request for the StopStreamProcessor operation. The "output" return
  6564  // value will be populated with the request's response once the request completes
  6565  // successfully.
  6566  //
  6567  // Use "Send" method on the returned Request to send the API call to the service.
  6568  // the "output" return value is not valid until after Send returns without error.
  6569  //
  6570  // See StopStreamProcessor for more information on using the StopStreamProcessor
  6571  // API call, and error handling.
  6572  //
  6573  // This method is useful when you want to inject custom logic or configuration
  6574  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6575  //
  6576  //
  6577  //    // Example sending a request using the StopStreamProcessorRequest method.
  6578  //    req, resp := client.StopStreamProcessorRequest(params)
  6579  //
  6580  //    err := req.Send()
  6581  //    if err == nil { // resp is now filled
  6582  //        fmt.Println(resp)
  6583  //    }
  6584  func (c *Rekognition) StopStreamProcessorRequest(input *StopStreamProcessorInput) (req *request.Request, output *StopStreamProcessorOutput) {
  6585  	op := &request.Operation{
  6586  		Name:       opStopStreamProcessor,
  6587  		HTTPMethod: "POST",
  6588  		HTTPPath:   "/",
  6589  	}
  6590  
  6591  	if input == nil {
  6592  		input = &StopStreamProcessorInput{}
  6593  	}
  6594  
  6595  	output = &StopStreamProcessorOutput{}
  6596  	req = c.newRequest(op, input, output)
  6597  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6598  	return
  6599  }
  6600  
  6601  // StopStreamProcessor API operation for Amazon Rekognition.
  6602  //
  6603  // Stops a running stream processor that was created by CreateStreamProcessor.
  6604  //
  6605  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6606  // with awserr.Error's Code and Message methods to get detailed information about
  6607  // the error.
  6608  //
  6609  // See the AWS API reference guide for Amazon Rekognition's
  6610  // API operation StopStreamProcessor for usage and error information.
  6611  //
  6612  // Returned Error Types:
  6613  //   * AccessDeniedException
  6614  //   You are not authorized to perform the action.
  6615  //
  6616  //   * InternalServerError
  6617  //   Amazon Rekognition experienced a service issue. Try your call again.
  6618  //
  6619  //   * ThrottlingException
  6620  //   Amazon Rekognition is temporarily unable to process the request. Try your
  6621  //   call again.
  6622  //
  6623  //   * InvalidParameterException
  6624  //   Input parameter violated a constraint. Validate your parameter before calling
  6625  //   the API operation again.
  6626  //
  6627  //   * ResourceNotFoundException
  6628  //   The resource specified in the request cannot be found.
  6629  //
  6630  //   * ResourceInUseException
  6631  //   The specified resource is already being used.
  6632  //
  6633  //   * ProvisionedThroughputExceededException
  6634  //   The number of requests exceeded your throughput limit. If you want to increase
  6635  //   this limit, contact Amazon Rekognition.
  6636  //
  6637  func (c *Rekognition) StopStreamProcessor(input *StopStreamProcessorInput) (*StopStreamProcessorOutput, error) {
  6638  	req, out := c.StopStreamProcessorRequest(input)
  6639  	return out, req.Send()
  6640  }
  6641  
  6642  // StopStreamProcessorWithContext is the same as StopStreamProcessor with the addition of
  6643  // the ability to pass a context and additional request options.
  6644  //
  6645  // See StopStreamProcessor for details on how to use this API operation.
  6646  //
  6647  // The context must be non-nil and will be used for request cancellation. If
  6648  // the context is nil a panic will occur. In the future the SDK may create
  6649  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6650  // for more information on using Contexts.
  6651  func (c *Rekognition) StopStreamProcessorWithContext(ctx aws.Context, input *StopStreamProcessorInput, opts ...request.Option) (*StopStreamProcessorOutput, error) {
  6652  	req, out := c.StopStreamProcessorRequest(input)
  6653  	req.SetContext(ctx)
  6654  	req.ApplyOptions(opts...)
  6655  	return out, req.Send()
  6656  }
  6657  
  6658  const opTagResource = "TagResource"
  6659  
  6660  // TagResourceRequest generates a "aws/request.Request" representing the
  6661  // client's request for the TagResource operation. The "output" return
  6662  // value will be populated with the request's response once the request completes
  6663  // successfully.
  6664  //
  6665  // Use "Send" method on the returned Request to send the API call to the service.
  6666  // the "output" return value is not valid until after Send returns without error.
  6667  //
  6668  // See TagResource for more information on using the TagResource
  6669  // API call, and error handling.
  6670  //
  6671  // This method is useful when you want to inject custom logic or configuration
  6672  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6673  //
  6674  //
  6675  //    // Example sending a request using the TagResourceRequest method.
  6676  //    req, resp := client.TagResourceRequest(params)
  6677  //
  6678  //    err := req.Send()
  6679  //    if err == nil { // resp is now filled
  6680  //        fmt.Println(resp)
  6681  //    }
  6682  func (c *Rekognition) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  6683  	op := &request.Operation{
  6684  		Name:       opTagResource,
  6685  		HTTPMethod: "POST",
  6686  		HTTPPath:   "/",
  6687  	}
  6688  
  6689  	if input == nil {
  6690  		input = &TagResourceInput{}
  6691  	}
  6692  
  6693  	output = &TagResourceOutput{}
  6694  	req = c.newRequest(op, input, output)
  6695  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6696  	return
  6697  }
  6698  
  6699  // TagResource API operation for Amazon Rekognition.
  6700  //
  6701  // Adds one or more key-value tags to an Amazon Rekognition collection, stream
  6702  // processor, or Custom Labels model. For more information, see Tagging AWS
  6703  // Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html).
  6704  //
  6705  // This operation requires permissions to perform the rekognition:TagResource
  6706  // action.
  6707  //
  6708  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6709  // with awserr.Error's Code and Message methods to get detailed information about
  6710  // the error.
  6711  //
  6712  // See the AWS API reference guide for Amazon Rekognition's
  6713  // API operation TagResource for usage and error information.
  6714  //
  6715  // Returned Error Types:
  6716  //   * ResourceNotFoundException
  6717  //   The resource specified in the request cannot be found.
  6718  //
  6719  //   * InvalidParameterException
  6720  //   Input parameter violated a constraint. Validate your parameter before calling
  6721  //   the API operation again.
  6722  //
  6723  //   * ServiceQuotaExceededException
  6724  //   The size of the collection exceeds the allowed limit. For more information,
  6725  //   see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
  6726  //
  6727  //   * AccessDeniedException
  6728  //   You are not authorized to perform the action.
  6729  //
  6730  //   * InternalServerError
  6731  //   Amazon Rekognition experienced a service issue. Try your call again.
  6732  //
  6733  //   * ThrottlingException
  6734  //   Amazon Rekognition is temporarily unable to process the request. Try your
  6735  //   call again.
  6736  //
  6737  //   * ProvisionedThroughputExceededException
  6738  //   The number of requests exceeded your throughput limit. If you want to increase
  6739  //   this limit, contact Amazon Rekognition.
  6740  //
  6741  func (c *Rekognition) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  6742  	req, out := c.TagResourceRequest(input)
  6743  	return out, req.Send()
  6744  }
  6745  
  6746  // TagResourceWithContext is the same as TagResource with the addition of
  6747  // the ability to pass a context and additional request options.
  6748  //
  6749  // See TagResource for details on how to use this API operation.
  6750  //
  6751  // The context must be non-nil and will be used for request cancellation. If
  6752  // the context is nil a panic will occur. In the future the SDK may create
  6753  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6754  // for more information on using Contexts.
  6755  func (c *Rekognition) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  6756  	req, out := c.TagResourceRequest(input)
  6757  	req.SetContext(ctx)
  6758  	req.ApplyOptions(opts...)
  6759  	return out, req.Send()
  6760  }
  6761  
  6762  const opUntagResource = "UntagResource"
  6763  
  6764  // UntagResourceRequest generates a "aws/request.Request" representing the
  6765  // client's request for the UntagResource operation. The "output" return
  6766  // value will be populated with the request's response once the request completes
  6767  // successfully.
  6768  //
  6769  // Use "Send" method on the returned Request to send the API call to the service.
  6770  // the "output" return value is not valid until after Send returns without error.
  6771  //
  6772  // See UntagResource for more information on using the UntagResource
  6773  // API call, and error handling.
  6774  //
  6775  // This method is useful when you want to inject custom logic or configuration
  6776  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6777  //
  6778  //
  6779  //    // Example sending a request using the UntagResourceRequest method.
  6780  //    req, resp := client.UntagResourceRequest(params)
  6781  //
  6782  //    err := req.Send()
  6783  //    if err == nil { // resp is now filled
  6784  //        fmt.Println(resp)
  6785  //    }
  6786  func (c *Rekognition) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  6787  	op := &request.Operation{
  6788  		Name:       opUntagResource,
  6789  		HTTPMethod: "POST",
  6790  		HTTPPath:   "/",
  6791  	}
  6792  
  6793  	if input == nil {
  6794  		input = &UntagResourceInput{}
  6795  	}
  6796  
  6797  	output = &UntagResourceOutput{}
  6798  	req = c.newRequest(op, input, output)
  6799  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6800  	return
  6801  }
  6802  
  6803  // UntagResource API operation for Amazon Rekognition.
  6804  //
  6805  // Removes one or more tags from an Amazon Rekognition collection, stream processor,
  6806  // or Custom Labels model.
  6807  //
  6808  // This operation requires permissions to perform the rekognition:UntagResource
  6809  // action.
  6810  //
  6811  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6812  // with awserr.Error's Code and Message methods to get detailed information about
  6813  // the error.
  6814  //
  6815  // See the AWS API reference guide for Amazon Rekognition's
  6816  // API operation UntagResource for usage and error information.
  6817  //
  6818  // Returned Error Types:
  6819  //   * ResourceNotFoundException
  6820  //   The resource specified in the request cannot be found.
  6821  //
  6822  //   * InvalidParameterException
  6823  //   Input parameter violated a constraint. Validate your parameter before calling
  6824  //   the API operation again.
  6825  //
  6826  //   * AccessDeniedException
  6827  //   You are not authorized to perform the action.
  6828  //
  6829  //   * InternalServerError
  6830  //   Amazon Rekognition experienced a service issue. Try your call again.
  6831  //
  6832  //   * ThrottlingException
  6833  //   Amazon Rekognition is temporarily unable to process the request. Try your
  6834  //   call again.
  6835  //
  6836  //   * ProvisionedThroughputExceededException
  6837  //   The number of requests exceeded your throughput limit. If you want to increase
  6838  //   this limit, contact Amazon Rekognition.
  6839  //
  6840  func (c *Rekognition) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  6841  	req, out := c.UntagResourceRequest(input)
  6842  	return out, req.Send()
  6843  }
  6844  
  6845  // UntagResourceWithContext is the same as UntagResource with the addition of
  6846  // the ability to pass a context and additional request options.
  6847  //
  6848  // See UntagResource for details on how to use this API operation.
  6849  //
  6850  // The context must be non-nil and will be used for request cancellation. If
  6851  // the context is nil a panic will occur. In the future the SDK may create
  6852  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6853  // for more information on using Contexts.
  6854  func (c *Rekognition) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  6855  	req, out := c.UntagResourceRequest(input)
  6856  	req.SetContext(ctx)
  6857  	req.ApplyOptions(opts...)
  6858  	return out, req.Send()
  6859  }
  6860  
  6861  // You are not authorized to perform the action.
  6862  type AccessDeniedException struct {
  6863  	_            struct{}                  `type:"structure"`
  6864  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6865  
  6866  	Message_ *string `locationName:"message" type:"string"`
  6867  }
  6868  
  6869  // String returns the string representation.
  6870  //
  6871  // API parameter values that are decorated as "sensitive" in the API will not
  6872  // be included in the string output. The member name will be present, but the
  6873  // value will be replaced with "sensitive".
  6874  func (s AccessDeniedException) String() string {
  6875  	return awsutil.Prettify(s)
  6876  }
  6877  
  6878  // GoString returns the string representation.
  6879  //
  6880  // API parameter values that are decorated as "sensitive" in the API will not
  6881  // be included in the string output. The member name will be present, but the
  6882  // value will be replaced with "sensitive".
  6883  func (s AccessDeniedException) GoString() string {
  6884  	return s.String()
  6885  }
  6886  
  6887  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  6888  	return &AccessDeniedException{
  6889  		RespMetadata: v,
  6890  	}
  6891  }
  6892  
  6893  // Code returns the exception type name.
  6894  func (s *AccessDeniedException) Code() string {
  6895  	return "AccessDeniedException"
  6896  }
  6897  
  6898  // Message returns the exception's message.
  6899  func (s *AccessDeniedException) Message() string {
  6900  	if s.Message_ != nil {
  6901  		return *s.Message_
  6902  	}
  6903  	return ""
  6904  }
  6905  
  6906  // OrigErr always returns nil, satisfies awserr.Error interface.
  6907  func (s *AccessDeniedException) OrigErr() error {
  6908  	return nil
  6909  }
  6910  
  6911  func (s *AccessDeniedException) Error() string {
  6912  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6913  }
  6914  
  6915  // Status code returns the HTTP status code for the request's response error.
  6916  func (s *AccessDeniedException) StatusCode() int {
  6917  	return s.RespMetadata.StatusCode
  6918  }
  6919  
  6920  // RequestID returns the service's response RequestID for request.
  6921  func (s *AccessDeniedException) RequestID() string {
  6922  	return s.RespMetadata.RequestID
  6923  }
  6924  
  6925  // Structure containing the estimated age range, in years, for a face.
  6926  //
  6927  // Amazon Rekognition estimates an age range for faces detected in the input
  6928  // image. Estimated age ranges can overlap. A face of a 5-year-old might have
  6929  // an estimated range of 4-6, while the face of a 6-year-old might have an estimated
  6930  // range of 4-8.
  6931  type AgeRange struct {
  6932  	_ struct{} `type:"structure"`
  6933  
  6934  	// The highest estimated age.
  6935  	High *int64 `type:"integer"`
  6936  
  6937  	// The lowest estimated age.
  6938  	Low *int64 `type:"integer"`
  6939  }
  6940  
  6941  // String returns the string representation.
  6942  //
  6943  // API parameter values that are decorated as "sensitive" in the API will not
  6944  // be included in the string output. The member name will be present, but the
  6945  // value will be replaced with "sensitive".
  6946  func (s AgeRange) String() string {
  6947  	return awsutil.Prettify(s)
  6948  }
  6949  
  6950  // GoString returns the string representation.
  6951  //
  6952  // API parameter values that are decorated as "sensitive" in the API will not
  6953  // be included in the string output. The member name will be present, but the
  6954  // value will be replaced with "sensitive".
  6955  func (s AgeRange) GoString() string {
  6956  	return s.String()
  6957  }
  6958  
  6959  // SetHigh sets the High field's value.
  6960  func (s *AgeRange) SetHigh(v int64) *AgeRange {
  6961  	s.High = &v
  6962  	return s
  6963  }
  6964  
  6965  // SetLow sets the Low field's value.
  6966  func (s *AgeRange) SetLow(v int64) *AgeRange {
  6967  	s.Low = &v
  6968  	return s
  6969  }
  6970  
  6971  // Assets are the images that you use to train and evaluate a model version.
  6972  // Assets can also contain validation information that you use to debug a failed
  6973  // model training.
  6974  type Asset struct {
  6975  	_ struct{} `type:"structure"`
  6976  
  6977  	// The S3 bucket that contains an Amazon Sagemaker Ground Truth format manifest
  6978  	// file.
  6979  	GroundTruthManifest *GroundTruthManifest `type:"structure"`
  6980  }
  6981  
  6982  // String returns the string representation.
  6983  //
  6984  // API parameter values that are decorated as "sensitive" in the API will not
  6985  // be included in the string output. The member name will be present, but the
  6986  // value will be replaced with "sensitive".
  6987  func (s Asset) String() string {
  6988  	return awsutil.Prettify(s)
  6989  }
  6990  
  6991  // GoString returns the string representation.
  6992  //
  6993  // API parameter values that are decorated as "sensitive" in the API will not
  6994  // be included in the string output. The member name will be present, but the
  6995  // value will be replaced with "sensitive".
  6996  func (s Asset) GoString() string {
  6997  	return s.String()
  6998  }
  6999  
  7000  // Validate inspects the fields of the type to determine if they are valid.
  7001  func (s *Asset) Validate() error {
  7002  	invalidParams := request.ErrInvalidParams{Context: "Asset"}
  7003  	if s.GroundTruthManifest != nil {
  7004  		if err := s.GroundTruthManifest.Validate(); err != nil {
  7005  			invalidParams.AddNested("GroundTruthManifest", err.(request.ErrInvalidParams))
  7006  		}
  7007  	}
  7008  
  7009  	if invalidParams.Len() > 0 {
  7010  		return invalidParams
  7011  	}
  7012  	return nil
  7013  }
  7014  
  7015  // SetGroundTruthManifest sets the GroundTruthManifest field's value.
  7016  func (s *Asset) SetGroundTruthManifest(v *GroundTruthManifest) *Asset {
  7017  	s.GroundTruthManifest = v
  7018  	return s
  7019  }
  7020  
  7021  // Metadata information about an audio stream. An array of AudioMetadata objects
  7022  // for the audio streams found in a stored video is returned by GetSegmentDetection.
  7023  type AudioMetadata struct {
  7024  	_ struct{} `type:"structure"`
  7025  
  7026  	// The audio codec used to encode or decode the audio stream.
  7027  	Codec *string `type:"string"`
  7028  
  7029  	// The duration of the audio stream in milliseconds.
  7030  	DurationMillis *int64 `type:"long"`
  7031  
  7032  	// The number of audio channels in the segment.
  7033  	NumberOfChannels *int64 `type:"long"`
  7034  
  7035  	// The sample rate for the audio stream.
  7036  	SampleRate *int64 `type:"long"`
  7037  }
  7038  
  7039  // String returns the string representation.
  7040  //
  7041  // API parameter values that are decorated as "sensitive" in the API will not
  7042  // be included in the string output. The member name will be present, but the
  7043  // value will be replaced with "sensitive".
  7044  func (s AudioMetadata) String() string {
  7045  	return awsutil.Prettify(s)
  7046  }
  7047  
  7048  // GoString returns the string representation.
  7049  //
  7050  // API parameter values that are decorated as "sensitive" in the API will not
  7051  // be included in the string output. The member name will be present, but the
  7052  // value will be replaced with "sensitive".
  7053  func (s AudioMetadata) GoString() string {
  7054  	return s.String()
  7055  }
  7056  
  7057  // SetCodec sets the Codec field's value.
  7058  func (s *AudioMetadata) SetCodec(v string) *AudioMetadata {
  7059  	s.Codec = &v
  7060  	return s
  7061  }
  7062  
  7063  // SetDurationMillis sets the DurationMillis field's value.
  7064  func (s *AudioMetadata) SetDurationMillis(v int64) *AudioMetadata {
  7065  	s.DurationMillis = &v
  7066  	return s
  7067  }
  7068  
  7069  // SetNumberOfChannels sets the NumberOfChannels field's value.
  7070  func (s *AudioMetadata) SetNumberOfChannels(v int64) *AudioMetadata {
  7071  	s.NumberOfChannels = &v
  7072  	return s
  7073  }
  7074  
  7075  // SetSampleRate sets the SampleRate field's value.
  7076  func (s *AudioMetadata) SetSampleRate(v int64) *AudioMetadata {
  7077  	s.SampleRate = &v
  7078  	return s
  7079  }
  7080  
  7081  // Indicates whether or not the face has a beard, and the confidence level in
  7082  // the determination.
  7083  type Beard struct {
  7084  	_ struct{} `type:"structure"`
  7085  
  7086  	// Level of confidence in the determination.
  7087  	Confidence *float64 `type:"float"`
  7088  
  7089  	// Boolean value that indicates whether the face has beard or not.
  7090  	Value *bool `type:"boolean"`
  7091  }
  7092  
  7093  // String returns the string representation.
  7094  //
  7095  // API parameter values that are decorated as "sensitive" in the API will not
  7096  // be included in the string output. The member name will be present, but the
  7097  // value will be replaced with "sensitive".
  7098  func (s Beard) String() string {
  7099  	return awsutil.Prettify(s)
  7100  }
  7101  
  7102  // GoString returns the string representation.
  7103  //
  7104  // API parameter values that are decorated as "sensitive" in the API will not
  7105  // be included in the string output. The member name will be present, but the
  7106  // value will be replaced with "sensitive".
  7107  func (s Beard) GoString() string {
  7108  	return s.String()
  7109  }
  7110  
  7111  // SetConfidence sets the Confidence field's value.
  7112  func (s *Beard) SetConfidence(v float64) *Beard {
  7113  	s.Confidence = &v
  7114  	return s
  7115  }
  7116  
  7117  // SetValue sets the Value field's value.
  7118  func (s *Beard) SetValue(v bool) *Beard {
  7119  	s.Value = &v
  7120  	return s
  7121  }
  7122  
  7123  // A filter that allows you to control the black frame detection by specifying
  7124  // the black levels and pixel coverage of black pixels in a frame. As videos
  7125  // can come from multiple sources, formats, and time periods, they may contain
  7126  // different standards and varying noise levels for black frames that need to
  7127  // be accounted for. For more information, see StartSegmentDetection.
  7128  type BlackFrame struct {
  7129  	_ struct{} `type:"structure"`
  7130  
  7131  	// A threshold used to determine the maximum luminance value for a pixel to
  7132  	// be considered black. In a full color range video, luminance values range
  7133  	// from 0-255. A pixel value of 0 is pure black, and the most strict filter.
  7134  	// The maximum black pixel value is computed as follows: max_black_pixel_value
  7135  	// = minimum_luminance + MaxPixelThreshold *luminance_range.
  7136  	//
  7137  	// For example, for a full range video with BlackPixelThreshold = 0.1, max_black_pixel_value
  7138  	// is 0 + 0.1 * (255-0) = 25.5.
  7139  	//
  7140  	// The default value of MaxPixelThreshold is 0.2, which maps to a max_black_pixel_value
  7141  	// of 51 for a full range video. You can lower this threshold to be more strict
  7142  	// on black levels.
  7143  	MaxPixelThreshold *float64 `type:"float"`
  7144  
  7145  	// The minimum percentage of pixels in a frame that need to have a luminance
  7146  	// below the max_black_pixel_value for a frame to be considered a black frame.
  7147  	// Luminance is calculated using the BT.709 matrix.
  7148  	//
  7149  	// The default value is 99, which means at least 99% of all pixels in the frame
  7150  	// are black pixels as per the MaxPixelThreshold set. You can reduce this value
  7151  	// to allow more noise on the black frame.
  7152  	MinCoveragePercentage *float64 `type:"float"`
  7153  }
  7154  
  7155  // String returns the string representation.
  7156  //
  7157  // API parameter values that are decorated as "sensitive" in the API will not
  7158  // be included in the string output. The member name will be present, but the
  7159  // value will be replaced with "sensitive".
  7160  func (s BlackFrame) String() string {
  7161  	return awsutil.Prettify(s)
  7162  }
  7163  
  7164  // GoString returns the string representation.
  7165  //
  7166  // API parameter values that are decorated as "sensitive" in the API will not
  7167  // be included in the string output. The member name will be present, but the
  7168  // value will be replaced with "sensitive".
  7169  func (s BlackFrame) GoString() string {
  7170  	return s.String()
  7171  }
  7172  
  7173  // SetMaxPixelThreshold sets the MaxPixelThreshold field's value.
  7174  func (s *BlackFrame) SetMaxPixelThreshold(v float64) *BlackFrame {
  7175  	s.MaxPixelThreshold = &v
  7176  	return s
  7177  }
  7178  
  7179  // SetMinCoveragePercentage sets the MinCoveragePercentage field's value.
  7180  func (s *BlackFrame) SetMinCoveragePercentage(v float64) *BlackFrame {
  7181  	s.MinCoveragePercentage = &v
  7182  	return s
  7183  }
  7184  
  7185  // Identifies the bounding box around the label, face, text or personal protective
  7186  // equipment. The left (x-coordinate) and top (y-coordinate) are coordinates
  7187  // representing the top and left sides of the bounding box. Note that the upper-left
  7188  // corner of the image is the origin (0,0).
  7189  //
  7190  // The top and left values returned are ratios of the overall image size. For
  7191  // example, if the input image is 700x200 pixels, and the top-left coordinate
  7192  // of the bounding box is 350x50 pixels, the API returns a left value of 0.5
  7193  // (350/700) and a top value of 0.25 (50/200).
  7194  //
  7195  // The width and height values represent the dimensions of the bounding box
  7196  // as a ratio of the overall image dimension. For example, if the input image
  7197  // is 700x200 pixels, and the bounding box width is 70 pixels, the width returned
  7198  // is 0.1.
  7199  //
  7200  // The bounding box coordinates can have negative values. For example, if Amazon
  7201  // Rekognition is able to detect a face that is at the image edge and is only
  7202  // partially visible, the service can return coordinates that are outside the
  7203  // image bounds and, depending on the image edge, you might get negative values
  7204  // or values greater than 1 for the left or top values.
  7205  type BoundingBox struct {
  7206  	_ struct{} `type:"structure"`
  7207  
  7208  	// Height of the bounding box as a ratio of the overall image height.
  7209  	Height *float64 `type:"float"`
  7210  
  7211  	// Left coordinate of the bounding box as a ratio of overall image width.
  7212  	Left *float64 `type:"float"`
  7213  
  7214  	// Top coordinate of the bounding box as a ratio of overall image height.
  7215  	Top *float64 `type:"float"`
  7216  
  7217  	// Width of the bounding box as a ratio of the overall image width.
  7218  	Width *float64 `type:"float"`
  7219  }
  7220  
  7221  // String returns the string representation.
  7222  //
  7223  // API parameter values that are decorated as "sensitive" in the API will not
  7224  // be included in the string output. The member name will be present, but the
  7225  // value will be replaced with "sensitive".
  7226  func (s BoundingBox) String() string {
  7227  	return awsutil.Prettify(s)
  7228  }
  7229  
  7230  // GoString returns the string representation.
  7231  //
  7232  // API parameter values that are decorated as "sensitive" in the API will not
  7233  // be included in the string output. The member name will be present, but the
  7234  // value will be replaced with "sensitive".
  7235  func (s BoundingBox) GoString() string {
  7236  	return s.String()
  7237  }
  7238  
  7239  // SetHeight sets the Height field's value.
  7240  func (s *BoundingBox) SetHeight(v float64) *BoundingBox {
  7241  	s.Height = &v
  7242  	return s
  7243  }
  7244  
  7245  // SetLeft sets the Left field's value.
  7246  func (s *BoundingBox) SetLeft(v float64) *BoundingBox {
  7247  	s.Left = &v
  7248  	return s
  7249  }
  7250  
  7251  // SetTop sets the Top field's value.
  7252  func (s *BoundingBox) SetTop(v float64) *BoundingBox {
  7253  	s.Top = &v
  7254  	return s
  7255  }
  7256  
  7257  // SetWidth sets the Width field's value.
  7258  func (s *BoundingBox) SetWidth(v float64) *BoundingBox {
  7259  	s.Width = &v
  7260  	return s
  7261  }
  7262  
  7263  // Provides information about a celebrity recognized by the RecognizeCelebrities
  7264  // operation.
  7265  type Celebrity struct {
  7266  	_ struct{} `type:"structure"`
  7267  
  7268  	// Provides information about the celebrity's face, such as its location on
  7269  	// the image.
  7270  	Face *ComparedFace `type:"structure"`
  7271  
  7272  	// A unique identifier for the celebrity.
  7273  	Id *string `type:"string"`
  7274  
  7275  	// The known gender identity for the celebrity that matches the provided ID.
  7276  	KnownGender *KnownGender `type:"structure"`
  7277  
  7278  	// The confidence, in percentage, that Amazon Rekognition has that the recognized
  7279  	// face is the celebrity.
  7280  	MatchConfidence *float64 `type:"float"`
  7281  
  7282  	// The name of the celebrity.
  7283  	Name *string `type:"string"`
  7284  
  7285  	// An array of URLs pointing to additional information about the celebrity.
  7286  	// If there is no additional information about the celebrity, this list is empty.
  7287  	Urls []*string `type:"list"`
  7288  }
  7289  
  7290  // String returns the string representation.
  7291  //
  7292  // API parameter values that are decorated as "sensitive" in the API will not
  7293  // be included in the string output. The member name will be present, but the
  7294  // value will be replaced with "sensitive".
  7295  func (s Celebrity) String() string {
  7296  	return awsutil.Prettify(s)
  7297  }
  7298  
  7299  // GoString returns the string representation.
  7300  //
  7301  // API parameter values that are decorated as "sensitive" in the API will not
  7302  // be included in the string output. The member name will be present, but the
  7303  // value will be replaced with "sensitive".
  7304  func (s Celebrity) GoString() string {
  7305  	return s.String()
  7306  }
  7307  
  7308  // SetFace sets the Face field's value.
  7309  func (s *Celebrity) SetFace(v *ComparedFace) *Celebrity {
  7310  	s.Face = v
  7311  	return s
  7312  }
  7313  
  7314  // SetId sets the Id field's value.
  7315  func (s *Celebrity) SetId(v string) *Celebrity {
  7316  	s.Id = &v
  7317  	return s
  7318  }
  7319  
  7320  // SetKnownGender sets the KnownGender field's value.
  7321  func (s *Celebrity) SetKnownGender(v *KnownGender) *Celebrity {
  7322  	s.KnownGender = v
  7323  	return s
  7324  }
  7325  
  7326  // SetMatchConfidence sets the MatchConfidence field's value.
  7327  func (s *Celebrity) SetMatchConfidence(v float64) *Celebrity {
  7328  	s.MatchConfidence = &v
  7329  	return s
  7330  }
  7331  
  7332  // SetName sets the Name field's value.
  7333  func (s *Celebrity) SetName(v string) *Celebrity {
  7334  	s.Name = &v
  7335  	return s
  7336  }
  7337  
  7338  // SetUrls sets the Urls field's value.
  7339  func (s *Celebrity) SetUrls(v []*string) *Celebrity {
  7340  	s.Urls = v
  7341  	return s
  7342  }
  7343  
  7344  // Information about a recognized celebrity.
  7345  type CelebrityDetail struct {
  7346  	_ struct{} `type:"structure"`
  7347  
  7348  	// Bounding box around the body of a celebrity.
  7349  	BoundingBox *BoundingBox `type:"structure"`
  7350  
  7351  	// The confidence, in percentage, that Amazon Rekognition has that the recognized
  7352  	// face is the celebrity.
  7353  	Confidence *float64 `type:"float"`
  7354  
  7355  	// Face details for the recognized celebrity.
  7356  	Face *FaceDetail `type:"structure"`
  7357  
  7358  	// The unique identifier for the celebrity.
  7359  	Id *string `type:"string"`
  7360  
  7361  	// The name of the celebrity.
  7362  	Name *string `type:"string"`
  7363  
  7364  	// An array of URLs pointing to additional celebrity information.
  7365  	Urls []*string `type:"list"`
  7366  }
  7367  
  7368  // String returns the string representation.
  7369  //
  7370  // API parameter values that are decorated as "sensitive" in the API will not
  7371  // be included in the string output. The member name will be present, but the
  7372  // value will be replaced with "sensitive".
  7373  func (s CelebrityDetail) String() string {
  7374  	return awsutil.Prettify(s)
  7375  }
  7376  
  7377  // GoString returns the string representation.
  7378  //
  7379  // API parameter values that are decorated as "sensitive" in the API will not
  7380  // be included in the string output. The member name will be present, but the
  7381  // value will be replaced with "sensitive".
  7382  func (s CelebrityDetail) GoString() string {
  7383  	return s.String()
  7384  }
  7385  
  7386  // SetBoundingBox sets the BoundingBox field's value.
  7387  func (s *CelebrityDetail) SetBoundingBox(v *BoundingBox) *CelebrityDetail {
  7388  	s.BoundingBox = v
  7389  	return s
  7390  }
  7391  
  7392  // SetConfidence sets the Confidence field's value.
  7393  func (s *CelebrityDetail) SetConfidence(v float64) *CelebrityDetail {
  7394  	s.Confidence = &v
  7395  	return s
  7396  }
  7397  
  7398  // SetFace sets the Face field's value.
  7399  func (s *CelebrityDetail) SetFace(v *FaceDetail) *CelebrityDetail {
  7400  	s.Face = v
  7401  	return s
  7402  }
  7403  
  7404  // SetId sets the Id field's value.
  7405  func (s *CelebrityDetail) SetId(v string) *CelebrityDetail {
  7406  	s.Id = &v
  7407  	return s
  7408  }
  7409  
  7410  // SetName sets the Name field's value.
  7411  func (s *CelebrityDetail) SetName(v string) *CelebrityDetail {
  7412  	s.Name = &v
  7413  	return s
  7414  }
  7415  
  7416  // SetUrls sets the Urls field's value.
  7417  func (s *CelebrityDetail) SetUrls(v []*string) *CelebrityDetail {
  7418  	s.Urls = v
  7419  	return s
  7420  }
  7421  
  7422  // Information about a detected celebrity and the time the celebrity was detected
  7423  // in a stored video. For more information, see GetCelebrityRecognition in the
  7424  // Amazon Rekognition Developer Guide.
  7425  type CelebrityRecognition struct {
  7426  	_ struct{} `type:"structure"`
  7427  
  7428  	// Information about a recognized celebrity.
  7429  	Celebrity *CelebrityDetail `type:"structure"`
  7430  
  7431  	// The time, in milliseconds from the start of the video, that the celebrity
  7432  	// was recognized.
  7433  	Timestamp *int64 `type:"long"`
  7434  }
  7435  
  7436  // String returns the string representation.
  7437  //
  7438  // API parameter values that are decorated as "sensitive" in the API will not
  7439  // be included in the string output. The member name will be present, but the
  7440  // value will be replaced with "sensitive".
  7441  func (s CelebrityRecognition) String() string {
  7442  	return awsutil.Prettify(s)
  7443  }
  7444  
  7445  // GoString returns the string representation.
  7446  //
  7447  // API parameter values that are decorated as "sensitive" in the API will not
  7448  // be included in the string output. The member name will be present, but the
  7449  // value will be replaced with "sensitive".
  7450  func (s CelebrityRecognition) GoString() string {
  7451  	return s.String()
  7452  }
  7453  
  7454  // SetCelebrity sets the Celebrity field's value.
  7455  func (s *CelebrityRecognition) SetCelebrity(v *CelebrityDetail) *CelebrityRecognition {
  7456  	s.Celebrity = v
  7457  	return s
  7458  }
  7459  
  7460  // SetTimestamp sets the Timestamp field's value.
  7461  func (s *CelebrityRecognition) SetTimestamp(v int64) *CelebrityRecognition {
  7462  	s.Timestamp = &v
  7463  	return s
  7464  }
  7465  
  7466  type CompareFacesInput struct {
  7467  	_ struct{} `type:"structure"`
  7468  
  7469  	// A filter that specifies a quality bar for how much filtering is done to identify
  7470  	// faces. Filtered faces aren't compared. If you specify AUTO, Amazon Rekognition
  7471  	// chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes
  7472  	// all faces that don’t meet the chosen quality bar. The quality bar is based
  7473  	// on a variety of common use cases. Low-quality detections can occur for a
  7474  	// number of reasons. Some examples are an object that's misidentified as a
  7475  	// face, a face that's too blurry, or a face with a pose that's too extreme
  7476  	// to use. If you specify NONE, no filtering is performed. The default value
  7477  	// is NONE.
  7478  	//
  7479  	// To use quality filtering, the collection you are using must be associated
  7480  	// with version 3 of the face model or higher.
  7481  	QualityFilter *string `type:"string" enum:"QualityFilter"`
  7482  
  7483  	// The minimum level of confidence in the face matches that a match must meet
  7484  	// to be included in the FaceMatches array.
  7485  	SimilarityThreshold *float64 `type:"float"`
  7486  
  7487  	// The input image as base64-encoded bytes or an S3 object. If you use the AWS
  7488  	// CLI to call Amazon Rekognition operations, passing base64-encoded image bytes
  7489  	// is not supported.
  7490  	//
  7491  	// If you are using an AWS SDK to call Amazon Rekognition, you might not need
  7492  	// to base64-encode image bytes passed using the Bytes field. For more information,
  7493  	// see Images in the Amazon Rekognition developer guide.
  7494  	//
  7495  	// SourceImage is a required field
  7496  	SourceImage *Image `type:"structure" required:"true"`
  7497  
  7498  	// The target image as base64-encoded bytes or an S3 object. If you use the
  7499  	// AWS CLI to call Amazon Rekognition operations, passing base64-encoded image
  7500  	// bytes is not supported.
  7501  	//
  7502  	// If you are using an AWS SDK to call Amazon Rekognition, you might not need
  7503  	// to base64-encode image bytes passed using the Bytes field. For more information,
  7504  	// see Images in the Amazon Rekognition developer guide.
  7505  	//
  7506  	// TargetImage is a required field
  7507  	TargetImage *Image `type:"structure" required:"true"`
  7508  }
  7509  
  7510  // String returns the string representation.
  7511  //
  7512  // API parameter values that are decorated as "sensitive" in the API will not
  7513  // be included in the string output. The member name will be present, but the
  7514  // value will be replaced with "sensitive".
  7515  func (s CompareFacesInput) String() string {
  7516  	return awsutil.Prettify(s)
  7517  }
  7518  
  7519  // GoString returns the string representation.
  7520  //
  7521  // API parameter values that are decorated as "sensitive" in the API will not
  7522  // be included in the string output. The member name will be present, but the
  7523  // value will be replaced with "sensitive".
  7524  func (s CompareFacesInput) GoString() string {
  7525  	return s.String()
  7526  }
  7527  
  7528  // Validate inspects the fields of the type to determine if they are valid.
  7529  func (s *CompareFacesInput) Validate() error {
  7530  	invalidParams := request.ErrInvalidParams{Context: "CompareFacesInput"}
  7531  	if s.SourceImage == nil {
  7532  		invalidParams.Add(request.NewErrParamRequired("SourceImage"))
  7533  	}
  7534  	if s.TargetImage == nil {
  7535  		invalidParams.Add(request.NewErrParamRequired("TargetImage"))
  7536  	}
  7537  	if s.SourceImage != nil {
  7538  		if err := s.SourceImage.Validate(); err != nil {
  7539  			invalidParams.AddNested("SourceImage", err.(request.ErrInvalidParams))
  7540  		}
  7541  	}
  7542  	if s.TargetImage != nil {
  7543  		if err := s.TargetImage.Validate(); err != nil {
  7544  			invalidParams.AddNested("TargetImage", err.(request.ErrInvalidParams))
  7545  		}
  7546  	}
  7547  
  7548  	if invalidParams.Len() > 0 {
  7549  		return invalidParams
  7550  	}
  7551  	return nil
  7552  }
  7553  
  7554  // SetQualityFilter sets the QualityFilter field's value.
  7555  func (s *CompareFacesInput) SetQualityFilter(v string) *CompareFacesInput {
  7556  	s.QualityFilter = &v
  7557  	return s
  7558  }
  7559  
  7560  // SetSimilarityThreshold sets the SimilarityThreshold field's value.
  7561  func (s *CompareFacesInput) SetSimilarityThreshold(v float64) *CompareFacesInput {
  7562  	s.SimilarityThreshold = &v
  7563  	return s
  7564  }
  7565  
  7566  // SetSourceImage sets the SourceImage field's value.
  7567  func (s *CompareFacesInput) SetSourceImage(v *Image) *CompareFacesInput {
  7568  	s.SourceImage = v
  7569  	return s
  7570  }
  7571  
  7572  // SetTargetImage sets the TargetImage field's value.
  7573  func (s *CompareFacesInput) SetTargetImage(v *Image) *CompareFacesInput {
  7574  	s.TargetImage = v
  7575  	return s
  7576  }
  7577  
  7578  // Provides information about a face in a target image that matches the source
  7579  // image face analyzed by CompareFaces. The Face property contains the bounding
  7580  // box of the face in the target image. The Similarity property is the confidence
  7581  // that the source image face matches the face in the bounding box.
  7582  type CompareFacesMatch struct {
  7583  	_ struct{} `type:"structure"`
  7584  
  7585  	// Provides face metadata (bounding box and confidence that the bounding box
  7586  	// actually contains a face).
  7587  	Face *ComparedFace `type:"structure"`
  7588  
  7589  	// Level of confidence that the faces match.
  7590  	Similarity *float64 `type:"float"`
  7591  }
  7592  
  7593  // String returns the string representation.
  7594  //
  7595  // API parameter values that are decorated as "sensitive" in the API will not
  7596  // be included in the string output. The member name will be present, but the
  7597  // value will be replaced with "sensitive".
  7598  func (s CompareFacesMatch) String() string {
  7599  	return awsutil.Prettify(s)
  7600  }
  7601  
  7602  // GoString returns the string representation.
  7603  //
  7604  // API parameter values that are decorated as "sensitive" in the API will not
  7605  // be included in the string output. The member name will be present, but the
  7606  // value will be replaced with "sensitive".
  7607  func (s CompareFacesMatch) GoString() string {
  7608  	return s.String()
  7609  }
  7610  
  7611  // SetFace sets the Face field's value.
  7612  func (s *CompareFacesMatch) SetFace(v *ComparedFace) *CompareFacesMatch {
  7613  	s.Face = v
  7614  	return s
  7615  }
  7616  
  7617  // SetSimilarity sets the Similarity field's value.
  7618  func (s *CompareFacesMatch) SetSimilarity(v float64) *CompareFacesMatch {
  7619  	s.Similarity = &v
  7620  	return s
  7621  }
  7622  
  7623  type CompareFacesOutput struct {
  7624  	_ struct{} `type:"structure"`
  7625  
  7626  	// An array of faces in the target image that match the source image face. Each
  7627  	// CompareFacesMatch object provides the bounding box, the confidence level
  7628  	// that the bounding box contains a face, and the similarity score for the face
  7629  	// in the bounding box and the face in the source image.
  7630  	FaceMatches []*CompareFacesMatch `type:"list"`
  7631  
  7632  	// The face in the source image that was used for comparison.
  7633  	SourceImageFace *ComparedSourceImageFace `type:"structure"`
  7634  
  7635  	// The value of SourceImageOrientationCorrection is always null.
  7636  	//
  7637  	// If the input image is in .jpeg format, it might contain exchangeable image
  7638  	// file format (Exif) metadata that includes the image's orientation. Amazon
  7639  	// Rekognition uses this orientation information to perform image correction.
  7640  	// The bounding box coordinates are translated to represent object locations
  7641  	// after the orientation information in the Exif metadata is used to correct
  7642  	// the image orientation. Images in .png format don't contain Exif metadata.
  7643  	//
  7644  	// Amazon Rekognition doesn’t perform image correction for images in .png
  7645  	// format and .jpeg images without orientation information in the image Exif
  7646  	// metadata. The bounding box coordinates aren't translated and represent the
  7647  	// object locations before the image is rotated.
  7648  	SourceImageOrientationCorrection *string `type:"string" enum:"OrientationCorrection"`
  7649  
  7650  	// The value of TargetImageOrientationCorrection is always null.
  7651  	//
  7652  	// If the input image is in .jpeg format, it might contain exchangeable image
  7653  	// file format (Exif) metadata that includes the image's orientation. Amazon
  7654  	// Rekognition uses this orientation information to perform image correction.
  7655  	// The bounding box coordinates are translated to represent object locations
  7656  	// after the orientation information in the Exif metadata is used to correct
  7657  	// the image orientation. Images in .png format don't contain Exif metadata.
  7658  	//
  7659  	// Amazon Rekognition doesn’t perform image correction for images in .png
  7660  	// format and .jpeg images without orientation information in the image Exif
  7661  	// metadata. The bounding box coordinates aren't translated and represent the
  7662  	// object locations before the image is rotated.
  7663  	TargetImageOrientationCorrection *string `type:"string" enum:"OrientationCorrection"`
  7664  
  7665  	// An array of faces in the target image that did not match the source image
  7666  	// face.
  7667  	UnmatchedFaces []*ComparedFace `type:"list"`
  7668  }
  7669  
  7670  // String returns the string representation.
  7671  //
  7672  // API parameter values that are decorated as "sensitive" in the API will not
  7673  // be included in the string output. The member name will be present, but the
  7674  // value will be replaced with "sensitive".
  7675  func (s CompareFacesOutput) String() string {
  7676  	return awsutil.Prettify(s)
  7677  }
  7678  
  7679  // GoString returns the string representation.
  7680  //
  7681  // API parameter values that are decorated as "sensitive" in the API will not
  7682  // be included in the string output. The member name will be present, but the
  7683  // value will be replaced with "sensitive".
  7684  func (s CompareFacesOutput) GoString() string {
  7685  	return s.String()
  7686  }
  7687  
  7688  // SetFaceMatches sets the FaceMatches field's value.
  7689  func (s *CompareFacesOutput) SetFaceMatches(v []*CompareFacesMatch) *CompareFacesOutput {
  7690  	s.FaceMatches = v
  7691  	return s
  7692  }
  7693  
  7694  // SetSourceImageFace sets the SourceImageFace field's value.
  7695  func (s *CompareFacesOutput) SetSourceImageFace(v *ComparedSourceImageFace) *CompareFacesOutput {
  7696  	s.SourceImageFace = v
  7697  	return s
  7698  }
  7699  
  7700  // SetSourceImageOrientationCorrection sets the SourceImageOrientationCorrection field's value.
  7701  func (s *CompareFacesOutput) SetSourceImageOrientationCorrection(v string) *CompareFacesOutput {
  7702  	s.SourceImageOrientationCorrection = &v
  7703  	return s
  7704  }
  7705  
  7706  // SetTargetImageOrientationCorrection sets the TargetImageOrientationCorrection field's value.
  7707  func (s *CompareFacesOutput) SetTargetImageOrientationCorrection(v string) *CompareFacesOutput {
  7708  	s.TargetImageOrientationCorrection = &v
  7709  	return s
  7710  }
  7711  
  7712  // SetUnmatchedFaces sets the UnmatchedFaces field's value.
  7713  func (s *CompareFacesOutput) SetUnmatchedFaces(v []*ComparedFace) *CompareFacesOutput {
  7714  	s.UnmatchedFaces = v
  7715  	return s
  7716  }
  7717  
  7718  // Provides face metadata for target image faces that are analyzed by CompareFaces
  7719  // and RecognizeCelebrities.
  7720  type ComparedFace struct {
  7721  	_ struct{} `type:"structure"`
  7722  
  7723  	// Bounding box of the face.
  7724  	BoundingBox *BoundingBox `type:"structure"`
  7725  
  7726  	// Level of confidence that what the bounding box contains is a face.
  7727  	Confidence *float64 `type:"float"`
  7728  
  7729  	// The emotions that appear to be expressed on the face, and the confidence
  7730  	// level in the determination. Valid values include "Happy", "Sad", "Angry",
  7731  	// "Confused", "Disgusted", "Surprised", "Calm", "Unknown", and "Fear".
  7732  	Emotions []*Emotion `type:"list"`
  7733  
  7734  	// An array of facial landmarks.
  7735  	Landmarks []*Landmark `type:"list"`
  7736  
  7737  	// Indicates the pose of the face as determined by its pitch, roll, and yaw.
  7738  	Pose *Pose `type:"structure"`
  7739  
  7740  	// Identifies face image brightness and sharpness.
  7741  	Quality *ImageQuality `type:"structure"`
  7742  
  7743  	// Indicates whether or not the face is smiling, and the confidence level in
  7744  	// the determination.
  7745  	Smile *Smile `type:"structure"`
  7746  }
  7747  
  7748  // String returns the string representation.
  7749  //
  7750  // API parameter values that are decorated as "sensitive" in the API will not
  7751  // be included in the string output. The member name will be present, but the
  7752  // value will be replaced with "sensitive".
  7753  func (s ComparedFace) String() string {
  7754  	return awsutil.Prettify(s)
  7755  }
  7756  
  7757  // GoString returns the string representation.
  7758  //
  7759  // API parameter values that are decorated as "sensitive" in the API will not
  7760  // be included in the string output. The member name will be present, but the
  7761  // value will be replaced with "sensitive".
  7762  func (s ComparedFace) GoString() string {
  7763  	return s.String()
  7764  }
  7765  
  7766  // SetBoundingBox sets the BoundingBox field's value.
  7767  func (s *ComparedFace) SetBoundingBox(v *BoundingBox) *ComparedFace {
  7768  	s.BoundingBox = v
  7769  	return s
  7770  }
  7771  
  7772  // SetConfidence sets the Confidence field's value.
  7773  func (s *ComparedFace) SetConfidence(v float64) *ComparedFace {
  7774  	s.Confidence = &v
  7775  	return s
  7776  }
  7777  
  7778  // SetEmotions sets the Emotions field's value.
  7779  func (s *ComparedFace) SetEmotions(v []*Emotion) *ComparedFace {
  7780  	s.Emotions = v
  7781  	return s
  7782  }
  7783  
  7784  // SetLandmarks sets the Landmarks field's value.
  7785  func (s *ComparedFace) SetLandmarks(v []*Landmark) *ComparedFace {
  7786  	s.Landmarks = v
  7787  	return s
  7788  }
  7789  
  7790  // SetPose sets the Pose field's value.
  7791  func (s *ComparedFace) SetPose(v *Pose) *ComparedFace {
  7792  	s.Pose = v
  7793  	return s
  7794  }
  7795  
  7796  // SetQuality sets the Quality field's value.
  7797  func (s *ComparedFace) SetQuality(v *ImageQuality) *ComparedFace {
  7798  	s.Quality = v
  7799  	return s
  7800  }
  7801  
  7802  // SetSmile sets the Smile field's value.
  7803  func (s *ComparedFace) SetSmile(v *Smile) *ComparedFace {
  7804  	s.Smile = v
  7805  	return s
  7806  }
  7807  
  7808  // Type that describes the face Amazon Rekognition chose to compare with the
  7809  // faces in the target. This contains a bounding box for the selected face and
  7810  // confidence level that the bounding box contains a face. Note that Amazon
  7811  // Rekognition selects the largest face in the source image for this comparison.
  7812  type ComparedSourceImageFace struct {
  7813  	_ struct{} `type:"structure"`
  7814  
  7815  	// Bounding box of the face.
  7816  	BoundingBox *BoundingBox `type:"structure"`
  7817  
  7818  	// Confidence level that the selected bounding box contains a face.
  7819  	Confidence *float64 `type:"float"`
  7820  }
  7821  
  7822  // String returns the string representation.
  7823  //
  7824  // API parameter values that are decorated as "sensitive" in the API will not
  7825  // be included in the string output. The member name will be present, but the
  7826  // value will be replaced with "sensitive".
  7827  func (s ComparedSourceImageFace) String() string {
  7828  	return awsutil.Prettify(s)
  7829  }
  7830  
  7831  // GoString returns the string representation.
  7832  //
  7833  // API parameter values that are decorated as "sensitive" in the API will not
  7834  // be included in the string output. The member name will be present, but the
  7835  // value will be replaced with "sensitive".
  7836  func (s ComparedSourceImageFace) GoString() string {
  7837  	return s.String()
  7838  }
  7839  
  7840  // SetBoundingBox sets the BoundingBox field's value.
  7841  func (s *ComparedSourceImageFace) SetBoundingBox(v *BoundingBox) *ComparedSourceImageFace {
  7842  	s.BoundingBox = v
  7843  	return s
  7844  }
  7845  
  7846  // SetConfidence sets the Confidence field's value.
  7847  func (s *ComparedSourceImageFace) SetConfidence(v float64) *ComparedSourceImageFace {
  7848  	s.Confidence = &v
  7849  	return s
  7850  }
  7851  
  7852  // Information about an inappropriate, unwanted, or offensive content label
  7853  // detection in a stored video.
  7854  type ContentModerationDetection struct {
  7855  	_ struct{} `type:"structure"`
  7856  
  7857  	// The content moderation label detected by in the stored video.
  7858  	ModerationLabel *ModerationLabel `type:"structure"`
  7859  
  7860  	// Time, in milliseconds from the beginning of the video, that the content moderation
  7861  	// label was detected.
  7862  	Timestamp *int64 `type:"long"`
  7863  }
  7864  
  7865  // String returns the string representation.
  7866  //
  7867  // API parameter values that are decorated as "sensitive" in the API will not
  7868  // be included in the string output. The member name will be present, but the
  7869  // value will be replaced with "sensitive".
  7870  func (s ContentModerationDetection) String() string {
  7871  	return awsutil.Prettify(s)
  7872  }
  7873  
  7874  // GoString returns the string representation.
  7875  //
  7876  // API parameter values that are decorated as "sensitive" in the API will not
  7877  // be included in the string output. The member name will be present, but the
  7878  // value will be replaced with "sensitive".
  7879  func (s ContentModerationDetection) GoString() string {
  7880  	return s.String()
  7881  }
  7882  
  7883  // SetModerationLabel sets the ModerationLabel field's value.
  7884  func (s *ContentModerationDetection) SetModerationLabel(v *ModerationLabel) *ContentModerationDetection {
  7885  	s.ModerationLabel = v
  7886  	return s
  7887  }
  7888  
  7889  // SetTimestamp sets the Timestamp field's value.
  7890  func (s *ContentModerationDetection) SetTimestamp(v int64) *ContentModerationDetection {
  7891  	s.Timestamp = &v
  7892  	return s
  7893  }
  7894  
  7895  // Information about an item of Personal Protective Equipment covering a corresponding
  7896  // body part. For more information, see DetectProtectiveEquipment.
  7897  type CoversBodyPart struct {
  7898  	_ struct{} `type:"structure"`
  7899  
  7900  	// The confidence that Amazon Rekognition has in the value of Value.
  7901  	Confidence *float64 `type:"float"`
  7902  
  7903  	// True if the PPE covers the corresponding body part, otherwise false.
  7904  	Value *bool `type:"boolean"`
  7905  }
  7906  
  7907  // String returns the string representation.
  7908  //
  7909  // API parameter values that are decorated as "sensitive" in the API will not
  7910  // be included in the string output. The member name will be present, but the
  7911  // value will be replaced with "sensitive".
  7912  func (s CoversBodyPart) String() string {
  7913  	return awsutil.Prettify(s)
  7914  }
  7915  
  7916  // GoString returns the string representation.
  7917  //
  7918  // API parameter values that are decorated as "sensitive" in the API will not
  7919  // be included in the string output. The member name will be present, but the
  7920  // value will be replaced with "sensitive".
  7921  func (s CoversBodyPart) GoString() string {
  7922  	return s.String()
  7923  }
  7924  
  7925  // SetConfidence sets the Confidence field's value.
  7926  func (s *CoversBodyPart) SetConfidence(v float64) *CoversBodyPart {
  7927  	s.Confidence = &v
  7928  	return s
  7929  }
  7930  
  7931  // SetValue sets the Value field's value.
  7932  func (s *CoversBodyPart) SetValue(v bool) *CoversBodyPart {
  7933  	s.Value = &v
  7934  	return s
  7935  }
  7936  
  7937  type CreateCollectionInput struct {
  7938  	_ struct{} `type:"structure"`
  7939  
  7940  	// ID for the collection that you are creating.
  7941  	//
  7942  	// CollectionId is a required field
  7943  	CollectionId *string `min:"1" type:"string" required:"true"`
  7944  
  7945  	// A set of tags (key-value pairs) that you want to attach to the collection.
  7946  	Tags map[string]*string `type:"map"`
  7947  }
  7948  
  7949  // String returns the string representation.
  7950  //
  7951  // API parameter values that are decorated as "sensitive" in the API will not
  7952  // be included in the string output. The member name will be present, but the
  7953  // value will be replaced with "sensitive".
  7954  func (s CreateCollectionInput) String() string {
  7955  	return awsutil.Prettify(s)
  7956  }
  7957  
  7958  // GoString returns the string representation.
  7959  //
  7960  // API parameter values that are decorated as "sensitive" in the API will not
  7961  // be included in the string output. The member name will be present, but the
  7962  // value will be replaced with "sensitive".
  7963  func (s CreateCollectionInput) GoString() string {
  7964  	return s.String()
  7965  }
  7966  
  7967  // Validate inspects the fields of the type to determine if they are valid.
  7968  func (s *CreateCollectionInput) Validate() error {
  7969  	invalidParams := request.ErrInvalidParams{Context: "CreateCollectionInput"}
  7970  	if s.CollectionId == nil {
  7971  		invalidParams.Add(request.NewErrParamRequired("CollectionId"))
  7972  	}
  7973  	if s.CollectionId != nil && len(*s.CollectionId) < 1 {
  7974  		invalidParams.Add(request.NewErrParamMinLen("CollectionId", 1))
  7975  	}
  7976  
  7977  	if invalidParams.Len() > 0 {
  7978  		return invalidParams
  7979  	}
  7980  	return nil
  7981  }
  7982  
  7983  // SetCollectionId sets the CollectionId field's value.
  7984  func (s *CreateCollectionInput) SetCollectionId(v string) *CreateCollectionInput {
  7985  	s.CollectionId = &v
  7986  	return s
  7987  }
  7988  
  7989  // SetTags sets the Tags field's value.
  7990  func (s *CreateCollectionInput) SetTags(v map[string]*string) *CreateCollectionInput {
  7991  	s.Tags = v
  7992  	return s
  7993  }
  7994  
  7995  type CreateCollectionOutput struct {
  7996  	_ struct{} `type:"structure"`
  7997  
  7998  	// Amazon Resource Name (ARN) of the collection. You can use this to manage
  7999  	// permissions on your resources.
  8000  	CollectionArn *string `type:"string"`
  8001  
  8002  	// Version number of the face detection model associated with the collection
  8003  	// you are creating.
  8004  	FaceModelVersion *string `type:"string"`
  8005  
  8006  	// HTTP status code indicating the result of the operation.
  8007  	StatusCode *int64 `type:"integer"`
  8008  }
  8009  
  8010  // String returns the string representation.
  8011  //
  8012  // API parameter values that are decorated as "sensitive" in the API will not
  8013  // be included in the string output. The member name will be present, but the
  8014  // value will be replaced with "sensitive".
  8015  func (s CreateCollectionOutput) String() string {
  8016  	return awsutil.Prettify(s)
  8017  }
  8018  
  8019  // GoString returns the string representation.
  8020  //
  8021  // API parameter values that are decorated as "sensitive" in the API will not
  8022  // be included in the string output. The member name will be present, but the
  8023  // value will be replaced with "sensitive".
  8024  func (s CreateCollectionOutput) GoString() string {
  8025  	return s.String()
  8026  }
  8027  
  8028  // SetCollectionArn sets the CollectionArn field's value.
  8029  func (s *CreateCollectionOutput) SetCollectionArn(v string) *CreateCollectionOutput {
  8030  	s.CollectionArn = &v
  8031  	return s
  8032  }
  8033  
  8034  // SetFaceModelVersion sets the FaceModelVersion field's value.
  8035  func (s *CreateCollectionOutput) SetFaceModelVersion(v string) *CreateCollectionOutput {
  8036  	s.FaceModelVersion = &v
  8037  	return s
  8038  }
  8039  
  8040  // SetStatusCode sets the StatusCode field's value.
  8041  func (s *CreateCollectionOutput) SetStatusCode(v int64) *CreateCollectionOutput {
  8042  	s.StatusCode = &v
  8043  	return s
  8044  }
  8045  
  8046  type CreateProjectInput struct {
  8047  	_ struct{} `type:"structure"`
  8048  
  8049  	// The name of the project to create.
  8050  	//
  8051  	// ProjectName is a required field
  8052  	ProjectName *string `min:"1" type:"string" required:"true"`
  8053  }
  8054  
  8055  // String returns the string representation.
  8056  //
  8057  // API parameter values that are decorated as "sensitive" in the API will not
  8058  // be included in the string output. The member name will be present, but the
  8059  // value will be replaced with "sensitive".
  8060  func (s CreateProjectInput) String() string {
  8061  	return awsutil.Prettify(s)
  8062  }
  8063  
  8064  // GoString returns the string representation.
  8065  //
  8066  // API parameter values that are decorated as "sensitive" in the API will not
  8067  // be included in the string output. The member name will be present, but the
  8068  // value will be replaced with "sensitive".
  8069  func (s CreateProjectInput) GoString() string {
  8070  	return s.String()
  8071  }
  8072  
  8073  // Validate inspects the fields of the type to determine if they are valid.
  8074  func (s *CreateProjectInput) Validate() error {
  8075  	invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"}
  8076  	if s.ProjectName == nil {
  8077  		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
  8078  	}
  8079  	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
  8080  		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
  8081  	}
  8082  
  8083  	if invalidParams.Len() > 0 {
  8084  		return invalidParams
  8085  	}
  8086  	return nil
  8087  }
  8088  
  8089  // SetProjectName sets the ProjectName field's value.
  8090  func (s *CreateProjectInput) SetProjectName(v string) *CreateProjectInput {
  8091  	s.ProjectName = &v
  8092  	return s
  8093  }
  8094  
  8095  type CreateProjectOutput struct {
  8096  	_ struct{} `type:"structure"`
  8097  
  8098  	// The Amazon Resource Name (ARN) of the new project. You can use the ARN to
  8099  	// configure IAM access to the project.
  8100  	ProjectArn *string `min:"20" type:"string"`
  8101  }
  8102  
  8103  // String returns the string representation.
  8104  //
  8105  // API parameter values that are decorated as "sensitive" in the API will not
  8106  // be included in the string output. The member name will be present, but the
  8107  // value will be replaced with "sensitive".
  8108  func (s CreateProjectOutput) String() string {
  8109  	return awsutil.Prettify(s)
  8110  }
  8111  
  8112  // GoString returns the string representation.
  8113  //
  8114  // API parameter values that are decorated as "sensitive" in the API will not
  8115  // be included in the string output. The member name will be present, but the
  8116  // value will be replaced with "sensitive".
  8117  func (s CreateProjectOutput) GoString() string {
  8118  	return s.String()
  8119  }
  8120  
  8121  // SetProjectArn sets the ProjectArn field's value.
  8122  func (s *CreateProjectOutput) SetProjectArn(v string) *CreateProjectOutput {
  8123  	s.ProjectArn = &v
  8124  	return s
  8125  }
  8126  
  8127  type CreateProjectVersionInput struct {
  8128  	_ struct{} `type:"structure"`
  8129  
  8130  	// The identifier for your AWS Key Management Service (AWS KMS) customer master
  8131  	// key (CMK). You can supply the Amazon Resource Name (ARN) of your CMK, the
  8132  	// ID of your CMK, an alias for your CMK, or an alias ARN. The key is used to
  8133  	// encrypt training and test images copied into the service for model training.
  8134  	// Your source images are unaffected. The key is also used to encrypt training
  8135  	// results and manifest files written to the output Amazon S3 bucket (OutputConfig).
  8136  	//
  8137  	// If you choose to use your own CMK, you need the following permissions on
  8138  	// the CMK.
  8139  	//
  8140  	//    * kms:CreateGrant
  8141  	//
  8142  	//    * kms:DescribeKey
  8143  	//
  8144  	//    * kms:GenerateDataKey
  8145  	//
  8146  	//    * kms:Decrypt
  8147  	//
  8148  	// If you don't specify a value for KmsKeyId, images copied into the service
  8149  	// are encrypted using a key that AWS owns and manages.
  8150  	KmsKeyId *string `min:"1" type:"string"`
  8151  
  8152  	// The Amazon S3 bucket location to store the results of training. The S3 bucket
  8153  	// can be in any AWS account as long as the caller has s3:PutObject permissions
  8154  	// on the S3 bucket.
  8155  	//
  8156  	// OutputConfig is a required field
  8157  	OutputConfig *OutputConfig `type:"structure" required:"true"`
  8158  
  8159  	// The ARN of the Amazon Rekognition Custom Labels project that manages the
  8160  	// model that you want to train.
  8161  	//
  8162  	// ProjectArn is a required field
  8163  	ProjectArn *string `min:"20" type:"string" required:"true"`
  8164  
  8165  	// A set of tags (key-value pairs) that you want to attach to the model.
  8166  	Tags map[string]*string `type:"map"`
  8167  
  8168  	// The dataset to use for testing.
  8169  	//
  8170  	// TestingData is a required field
  8171  	TestingData *TestingData `type:"structure" required:"true"`
  8172  
  8173  	// The dataset to use for training.
  8174  	//
  8175  	// TrainingData is a required field
  8176  	TrainingData *TrainingData `type:"structure" required:"true"`
  8177  
  8178  	// A name for the version of the model. This value must be unique.
  8179  	//
  8180  	// VersionName is a required field
  8181  	VersionName *string `min:"1" type:"string" required:"true"`
  8182  }
  8183  
  8184  // String returns the string representation.
  8185  //
  8186  // API parameter values that are decorated as "sensitive" in the API will not
  8187  // be included in the string output. The member name will be present, but the
  8188  // value will be replaced with "sensitive".
  8189  func (s CreateProjectVersionInput) String() string {
  8190  	return awsutil.Prettify(s)
  8191  }
  8192  
  8193  // GoString returns the string representation.
  8194  //
  8195  // API parameter values that are decorated as "sensitive" in the API will not
  8196  // be included in the string output. The member name will be present, but the
  8197  // value will be replaced with "sensitive".
  8198  func (s CreateProjectVersionInput) GoString() string {
  8199  	return s.String()
  8200  }
  8201  
  8202  // Validate inspects the fields of the type to determine if they are valid.
  8203  func (s *CreateProjectVersionInput) Validate() error {
  8204  	invalidParams := request.ErrInvalidParams{Context: "CreateProjectVersionInput"}
  8205  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
  8206  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
  8207  	}
  8208  	if s.OutputConfig == nil {
  8209  		invalidParams.Add(request.NewErrParamRequired("OutputConfig"))
  8210  	}
  8211  	if s.ProjectArn == nil {
  8212  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
  8213  	}
  8214  	if s.ProjectArn != nil && len(*s.ProjectArn) < 20 {
  8215  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 20))
  8216  	}
  8217  	if s.TestingData == nil {
  8218  		invalidParams.Add(request.NewErrParamRequired("TestingData"))
  8219  	}
  8220  	if s.TrainingData == nil {
  8221  		invalidParams.Add(request.NewErrParamRequired("TrainingData"))
  8222  	}
  8223  	if s.VersionName == nil {
  8224  		invalidParams.Add(request.NewErrParamRequired("VersionName"))
  8225  	}
  8226  	if s.VersionName != nil && len(*s.VersionName) < 1 {
  8227  		invalidParams.Add(request.NewErrParamMinLen("VersionName", 1))
  8228  	}
  8229  	if s.OutputConfig != nil {
  8230  		if err := s.OutputConfig.Validate(); err != nil {
  8231  			invalidParams.AddNested("OutputConfig", err.(request.ErrInvalidParams))
  8232  		}
  8233  	}
  8234  	if s.TestingData != nil {
  8235  		if err := s.TestingData.Validate(); err != nil {
  8236  			invalidParams.AddNested("TestingData", err.(request.ErrInvalidParams))
  8237  		}
  8238  	}
  8239  	if s.TrainingData != nil {
  8240  		if err := s.TrainingData.Validate(); err != nil {
  8241  			invalidParams.AddNested("TrainingData", err.(request.ErrInvalidParams))
  8242  		}
  8243  	}
  8244  
  8245  	if invalidParams.Len() > 0 {
  8246  		return invalidParams
  8247  	}
  8248  	return nil
  8249  }
  8250  
  8251  // SetKmsKeyId sets the KmsKeyId field's value.
  8252  func (s *CreateProjectVersionInput) SetKmsKeyId(v string) *CreateProjectVersionInput {
  8253  	s.KmsKeyId = &v
  8254  	return s
  8255  }
  8256  
  8257  // SetOutputConfig sets the OutputConfig field's value.
  8258  func (s *CreateProjectVersionInput) SetOutputConfig(v *OutputConfig) *CreateProjectVersionInput {
  8259  	s.OutputConfig = v
  8260  	return s
  8261  }
  8262  
  8263  // SetProjectArn sets the ProjectArn field's value.
  8264  func (s *CreateProjectVersionInput) SetProjectArn(v string) *CreateProjectVersionInput {
  8265  	s.ProjectArn = &v
  8266  	return s
  8267  }
  8268  
  8269  // SetTags sets the Tags field's value.
  8270  func (s *CreateProjectVersionInput) SetTags(v map[string]*string) *CreateProjectVersionInput {
  8271  	s.Tags = v
  8272  	return s
  8273  }
  8274  
  8275  // SetTestingData sets the TestingData field's value.
  8276  func (s *CreateProjectVersionInput) SetTestingData(v *TestingData) *CreateProjectVersionInput {
  8277  	s.TestingData = v
  8278  	return s
  8279  }
  8280  
  8281  // SetTrainingData sets the TrainingData field's value.
  8282  func (s *CreateProjectVersionInput) SetTrainingData(v *TrainingData) *CreateProjectVersionInput {
  8283  	s.TrainingData = v
  8284  	return s
  8285  }
  8286  
  8287  // SetVersionName sets the VersionName field's value.
  8288  func (s *CreateProjectVersionInput) SetVersionName(v string) *CreateProjectVersionInput {
  8289  	s.VersionName = &v
  8290  	return s
  8291  }
  8292  
  8293  type CreateProjectVersionOutput struct {
  8294  	_ struct{} `type:"structure"`
  8295  
  8296  	// The ARN of the model version that was created. Use DescribeProjectVersion
  8297  	// to get the current status of the training operation.
  8298  	ProjectVersionArn *string `min:"20" type:"string"`
  8299  }
  8300  
  8301  // String returns the string representation.
  8302  //
  8303  // API parameter values that are decorated as "sensitive" in the API will not
  8304  // be included in the string output. The member name will be present, but the
  8305  // value will be replaced with "sensitive".
  8306  func (s CreateProjectVersionOutput) String() string {
  8307  	return awsutil.Prettify(s)
  8308  }
  8309  
  8310  // GoString returns the string representation.
  8311  //
  8312  // API parameter values that are decorated as "sensitive" in the API will not
  8313  // be included in the string output. The member name will be present, but the
  8314  // value will be replaced with "sensitive".
  8315  func (s CreateProjectVersionOutput) GoString() string {
  8316  	return s.String()
  8317  }
  8318  
  8319  // SetProjectVersionArn sets the ProjectVersionArn field's value.
  8320  func (s *CreateProjectVersionOutput) SetProjectVersionArn(v string) *CreateProjectVersionOutput {
  8321  	s.ProjectVersionArn = &v
  8322  	return s
  8323  }
  8324  
  8325  type CreateStreamProcessorInput struct {
  8326  	_ struct{} `type:"structure"`
  8327  
  8328  	// Kinesis video stream stream that provides the source streaming video. If
  8329  	// you are using the AWS CLI, the parameter name is StreamProcessorInput.
  8330  	//
  8331  	// Input is a required field
  8332  	Input *StreamProcessorInput `type:"structure" required:"true"`
  8333  
  8334  	// An identifier you assign to the stream processor. You can use Name to manage
  8335  	// the stream processor. For example, you can get the current status of the
  8336  	// stream processor by calling DescribeStreamProcessor. Name is idempotent.
  8337  	//
  8338  	// Name is a required field
  8339  	Name *string `min:"1" type:"string" required:"true"`
  8340  
  8341  	// Kinesis data stream stream to which Amazon Rekognition Video puts the analysis
  8342  	// results. If you are using the AWS CLI, the parameter name is StreamProcessorOutput.
  8343  	//
  8344  	// Output is a required field
  8345  	Output *StreamProcessorOutput `type:"structure" required:"true"`
  8346  
  8347  	// ARN of the IAM role that allows access to the stream processor.
  8348  	//
  8349  	// RoleArn is a required field
  8350  	RoleArn *string `type:"string" required:"true"`
  8351  
  8352  	// Face recognition input parameters to be used by the stream processor. Includes
  8353  	// the collection to use for face recognition and the face attributes to detect.
  8354  	//
  8355  	// Settings is a required field
  8356  	Settings *StreamProcessorSettings `type:"structure" required:"true"`
  8357  
  8358  	// A set of tags (key-value pairs) that you want to attach to the stream processor.
  8359  	Tags map[string]*string `type:"map"`
  8360  }
  8361  
  8362  // String returns the string representation.
  8363  //
  8364  // API parameter values that are decorated as "sensitive" in the API will not
  8365  // be included in the string output. The member name will be present, but the
  8366  // value will be replaced with "sensitive".
  8367  func (s CreateStreamProcessorInput) String() string {
  8368  	return awsutil.Prettify(s)
  8369  }
  8370  
  8371  // GoString returns the string representation.
  8372  //
  8373  // API parameter values that are decorated as "sensitive" in the API will not
  8374  // be included in the string output. The member name will be present, but the
  8375  // value will be replaced with "sensitive".
  8376  func (s CreateStreamProcessorInput) GoString() string {
  8377  	return s.String()
  8378  }
  8379  
  8380  // Validate inspects the fields of the type to determine if they are valid.
  8381  func (s *CreateStreamProcessorInput) Validate() error {
  8382  	invalidParams := request.ErrInvalidParams{Context: "CreateStreamProcessorInput"}
  8383  	if s.Input == nil {
  8384  		invalidParams.Add(request.NewErrParamRequired("Input"))
  8385  	}
  8386  	if s.Name == nil {
  8387  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8388  	}
  8389  	if s.Name != nil && len(*s.Name) < 1 {
  8390  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8391  	}
  8392  	if s.Output == nil {
  8393  		invalidParams.Add(request.NewErrParamRequired("Output"))
  8394  	}
  8395  	if s.RoleArn == nil {
  8396  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  8397  	}
  8398  	if s.Settings == nil {
  8399  		invalidParams.Add(request.NewErrParamRequired("Settings"))
  8400  	}
  8401  	if s.Settings != nil {
  8402  		if err := s.Settings.Validate(); err != nil {
  8403  			invalidParams.AddNested("Settings", err.(request.ErrInvalidParams))
  8404  		}
  8405  	}
  8406  
  8407  	if invalidParams.Len() > 0 {
  8408  		return invalidParams
  8409  	}
  8410  	return nil
  8411  }
  8412  
  8413  // SetInput sets the Input field's value.
  8414  func (s *CreateStreamProcessorInput) SetInput(v *StreamProcessorInput) *CreateStreamProcessorInput {
  8415  	s.Input = v
  8416  	return s
  8417  }
  8418  
  8419  // SetName sets the Name field's value.
  8420  func (s *CreateStreamProcessorInput) SetName(v string) *CreateStreamProcessorInput {
  8421  	s.Name = &v
  8422  	return s
  8423  }
  8424  
  8425  // SetOutput sets the Output field's value.
  8426  func (s *CreateStreamProcessorInput) SetOutput(v *StreamProcessorOutput) *CreateStreamProcessorInput {
  8427  	s.Output = v
  8428  	return s
  8429  }
  8430  
  8431  // SetRoleArn sets the RoleArn field's value.
  8432  func (s *CreateStreamProcessorInput) SetRoleArn(v string) *CreateStreamProcessorInput {
  8433  	s.RoleArn = &v
  8434  	return s
  8435  }
  8436  
  8437  // SetSettings sets the Settings field's value.
  8438  func (s *CreateStreamProcessorInput) SetSettings(v *StreamProcessorSettings) *CreateStreamProcessorInput {
  8439  	s.Settings = v
  8440  	return s
  8441  }
  8442  
  8443  // SetTags sets the Tags field's value.
  8444  func (s *CreateStreamProcessorInput) SetTags(v map[string]*string) *CreateStreamProcessorInput {
  8445  	s.Tags = v
  8446  	return s
  8447  }
  8448  
  8449  type CreateStreamProcessorOutput struct {
  8450  	_ struct{} `type:"structure"`
  8451  
  8452  	// ARN for the newly create stream processor.
  8453  	StreamProcessorArn *string `type:"string"`
  8454  }
  8455  
  8456  // String returns the string representation.
  8457  //
  8458  // API parameter values that are decorated as "sensitive" in the API will not
  8459  // be included in the string output. The member name will be present, but the
  8460  // value will be replaced with "sensitive".
  8461  func (s CreateStreamProcessorOutput) String() string {
  8462  	return awsutil.Prettify(s)
  8463  }
  8464  
  8465  // GoString returns the string representation.
  8466  //
  8467  // API parameter values that are decorated as "sensitive" in the API will not
  8468  // be included in the string output. The member name will be present, but the
  8469  // value will be replaced with "sensitive".
  8470  func (s CreateStreamProcessorOutput) GoString() string {
  8471  	return s.String()
  8472  }
  8473  
  8474  // SetStreamProcessorArn sets the StreamProcessorArn field's value.
  8475  func (s *CreateStreamProcessorOutput) SetStreamProcessorArn(v string) *CreateStreamProcessorOutput {
  8476  	s.StreamProcessorArn = &v
  8477  	return s
  8478  }
  8479  
  8480  // A custom label detected in an image by a call to DetectCustomLabels.
  8481  type CustomLabel struct {
  8482  	_ struct{} `type:"structure"`
  8483  
  8484  	// The confidence that the model has in the detection of the custom label. The
  8485  	// range is 0-100. A higher value indicates a higher confidence.
  8486  	Confidence *float64 `type:"float"`
  8487  
  8488  	// The location of the detected object on the image that corresponds to the
  8489  	// custom label. Includes an axis aligned coarse bounding box surrounding the
  8490  	// object and a finer grain polygon for more accurate spatial information.
  8491  	Geometry *Geometry `type:"structure"`
  8492  
  8493  	// The name of the custom label.
  8494  	Name *string `type:"string"`
  8495  }
  8496  
  8497  // String returns the string representation.
  8498  //
  8499  // API parameter values that are decorated as "sensitive" in the API will not
  8500  // be included in the string output. The member name will be present, but the
  8501  // value will be replaced with "sensitive".
  8502  func (s CustomLabel) String() string {
  8503  	return awsutil.Prettify(s)
  8504  }
  8505  
  8506  // GoString returns the string representation.
  8507  //
  8508  // API parameter values that are decorated as "sensitive" in the API will not
  8509  // be included in the string output. The member name will be present, but the
  8510  // value will be replaced with "sensitive".
  8511  func (s CustomLabel) GoString() string {
  8512  	return s.String()
  8513  }
  8514  
  8515  // SetConfidence sets the Confidence field's value.
  8516  func (s *CustomLabel) SetConfidence(v float64) *CustomLabel {
  8517  	s.Confidence = &v
  8518  	return s
  8519  }
  8520  
  8521  // SetGeometry sets the Geometry field's value.
  8522  func (s *CustomLabel) SetGeometry(v *Geometry) *CustomLabel {
  8523  	s.Geometry = v
  8524  	return s
  8525  }
  8526  
  8527  // SetName sets the Name field's value.
  8528  func (s *CustomLabel) SetName(v string) *CustomLabel {
  8529  	s.Name = &v
  8530  	return s
  8531  }
  8532  
  8533  type DeleteCollectionInput struct {
  8534  	_ struct{} `type:"structure"`
  8535  
  8536  	// ID of the collection to delete.
  8537  	//
  8538  	// CollectionId is a required field
  8539  	CollectionId *string `min:"1" type:"string" required:"true"`
  8540  }
  8541  
  8542  // String returns the string representation.
  8543  //
  8544  // API parameter values that are decorated as "sensitive" in the API will not
  8545  // be included in the string output. The member name will be present, but the
  8546  // value will be replaced with "sensitive".
  8547  func (s DeleteCollectionInput) String() string {
  8548  	return awsutil.Prettify(s)
  8549  }
  8550  
  8551  // GoString returns the string representation.
  8552  //
  8553  // API parameter values that are decorated as "sensitive" in the API will not
  8554  // be included in the string output. The member name will be present, but the
  8555  // value will be replaced with "sensitive".
  8556  func (s DeleteCollectionInput) GoString() string {
  8557  	return s.String()
  8558  }
  8559  
  8560  // Validate inspects the fields of the type to determine if they are valid.
  8561  func (s *DeleteCollectionInput) Validate() error {
  8562  	invalidParams := request.ErrInvalidParams{Context: "DeleteCollectionInput"}
  8563  	if s.CollectionId == nil {
  8564  		invalidParams.Add(request.NewErrParamRequired("CollectionId"))
  8565  	}
  8566  	if s.CollectionId != nil && len(*s.CollectionId) < 1 {
  8567  		invalidParams.Add(request.NewErrParamMinLen("CollectionId", 1))
  8568  	}
  8569  
  8570  	if invalidParams.Len() > 0 {
  8571  		return invalidParams
  8572  	}
  8573  	return nil
  8574  }
  8575  
  8576  // SetCollectionId sets the CollectionId field's value.
  8577  func (s *DeleteCollectionInput) SetCollectionId(v string) *DeleteCollectionInput {
  8578  	s.CollectionId = &v
  8579  	return s
  8580  }
  8581  
  8582  type DeleteCollectionOutput struct {
  8583  	_ struct{} `type:"structure"`
  8584  
  8585  	// HTTP status code that indicates the result of the operation.
  8586  	StatusCode *int64 `type:"integer"`
  8587  }
  8588  
  8589  // String returns the string representation.
  8590  //
  8591  // API parameter values that are decorated as "sensitive" in the API will not
  8592  // be included in the string output. The member name will be present, but the
  8593  // value will be replaced with "sensitive".
  8594  func (s DeleteCollectionOutput) String() string {
  8595  	return awsutil.Prettify(s)
  8596  }
  8597  
  8598  // GoString returns the string representation.
  8599  //
  8600  // API parameter values that are decorated as "sensitive" in the API will not
  8601  // be included in the string output. The member name will be present, but the
  8602  // value will be replaced with "sensitive".
  8603  func (s DeleteCollectionOutput) GoString() string {
  8604  	return s.String()
  8605  }
  8606  
  8607  // SetStatusCode sets the StatusCode field's value.
  8608  func (s *DeleteCollectionOutput) SetStatusCode(v int64) *DeleteCollectionOutput {
  8609  	s.StatusCode = &v
  8610  	return s
  8611  }
  8612  
  8613  type DeleteFacesInput struct {
  8614  	_ struct{} `type:"structure"`
  8615  
  8616  	// Collection from which to remove the specific faces.
  8617  	//
  8618  	// CollectionId is a required field
  8619  	CollectionId *string `min:"1" type:"string" required:"true"`
  8620  
  8621  	// An array of face IDs to delete.
  8622  	//
  8623  	// FaceIds is a required field
  8624  	FaceIds []*string `min:"1" type:"list" required:"true"`
  8625  }
  8626  
  8627  // String returns the string representation.
  8628  //
  8629  // API parameter values that are decorated as "sensitive" in the API will not
  8630  // be included in the string output. The member name will be present, but the
  8631  // value will be replaced with "sensitive".
  8632  func (s DeleteFacesInput) String() string {
  8633  	return awsutil.Prettify(s)
  8634  }
  8635  
  8636  // GoString returns the string representation.
  8637  //
  8638  // API parameter values that are decorated as "sensitive" in the API will not
  8639  // be included in the string output. The member name will be present, but the
  8640  // value will be replaced with "sensitive".
  8641  func (s DeleteFacesInput) GoString() string {
  8642  	return s.String()
  8643  }
  8644  
  8645  // Validate inspects the fields of the type to determine if they are valid.
  8646  func (s *DeleteFacesInput) Validate() error {
  8647  	invalidParams := request.ErrInvalidParams{Context: "DeleteFacesInput"}
  8648  	if s.CollectionId == nil {
  8649  		invalidParams.Add(request.NewErrParamRequired("CollectionId"))
  8650  	}
  8651  	if s.CollectionId != nil && len(*s.CollectionId) < 1 {
  8652  		invalidParams.Add(request.NewErrParamMinLen("CollectionId", 1))
  8653  	}
  8654  	if s.FaceIds == nil {
  8655  		invalidParams.Add(request.NewErrParamRequired("FaceIds"))
  8656  	}
  8657  	if s.FaceIds != nil && len(s.FaceIds) < 1 {
  8658  		invalidParams.Add(request.NewErrParamMinLen("FaceIds", 1))
  8659  	}
  8660  
  8661  	if invalidParams.Len() > 0 {
  8662  		return invalidParams
  8663  	}
  8664  	return nil
  8665  }
  8666  
  8667  // SetCollectionId sets the CollectionId field's value.
  8668  func (s *DeleteFacesInput) SetCollectionId(v string) *DeleteFacesInput {
  8669  	s.CollectionId = &v
  8670  	return s
  8671  }
  8672  
  8673  // SetFaceIds sets the FaceIds field's value.
  8674  func (s *DeleteFacesInput) SetFaceIds(v []*string) *DeleteFacesInput {
  8675  	s.FaceIds = v
  8676  	return s
  8677  }
  8678  
  8679  type DeleteFacesOutput struct {
  8680  	_ struct{} `type:"structure"`
  8681  
  8682  	// An array of strings (face IDs) of the faces that were deleted.
  8683  	DeletedFaces []*string `min:"1" type:"list"`
  8684  }
  8685  
  8686  // String returns the string representation.
  8687  //
  8688  // API parameter values that are decorated as "sensitive" in the API will not
  8689  // be included in the string output. The member name will be present, but the
  8690  // value will be replaced with "sensitive".
  8691  func (s DeleteFacesOutput) String() string {
  8692  	return awsutil.Prettify(s)
  8693  }
  8694  
  8695  // GoString returns the string representation.
  8696  //
  8697  // API parameter values that are decorated as "sensitive" in the API will not
  8698  // be included in the string output. The member name will be present, but the
  8699  // value will be replaced with "sensitive".
  8700  func (s DeleteFacesOutput) GoString() string {
  8701  	return s.String()
  8702  }
  8703  
  8704  // SetDeletedFaces sets the DeletedFaces field's value.
  8705  func (s *DeleteFacesOutput) SetDeletedFaces(v []*string) *DeleteFacesOutput {
  8706  	s.DeletedFaces = v
  8707  	return s
  8708  }
  8709  
  8710  type DeleteProjectInput struct {
  8711  	_ struct{} `type:"structure"`
  8712  
  8713  	// The Amazon Resource Name (ARN) of the project that you want to delete.
  8714  	//
  8715  	// ProjectArn is a required field
  8716  	ProjectArn *string `min:"20" type:"string" required:"true"`
  8717  }
  8718  
  8719  // String returns the string representation.
  8720  //
  8721  // API parameter values that are decorated as "sensitive" in the API will not
  8722  // be included in the string output. The member name will be present, but the
  8723  // value will be replaced with "sensitive".
  8724  func (s DeleteProjectInput) String() string {
  8725  	return awsutil.Prettify(s)
  8726  }
  8727  
  8728  // GoString returns the string representation.
  8729  //
  8730  // API parameter values that are decorated as "sensitive" in the API will not
  8731  // be included in the string output. The member name will be present, but the
  8732  // value will be replaced with "sensitive".
  8733  func (s DeleteProjectInput) GoString() string {
  8734  	return s.String()
  8735  }
  8736  
  8737  // Validate inspects the fields of the type to determine if they are valid.
  8738  func (s *DeleteProjectInput) Validate() error {
  8739  	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
  8740  	if s.ProjectArn == nil {
  8741  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
  8742  	}
  8743  	if s.ProjectArn != nil && len(*s.ProjectArn) < 20 {
  8744  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 20))
  8745  	}
  8746  
  8747  	if invalidParams.Len() > 0 {
  8748  		return invalidParams
  8749  	}
  8750  	return nil
  8751  }
  8752  
  8753  // SetProjectArn sets the ProjectArn field's value.
  8754  func (s *DeleteProjectInput) SetProjectArn(v string) *DeleteProjectInput {
  8755  	s.ProjectArn = &v
  8756  	return s
  8757  }
  8758  
  8759  type DeleteProjectOutput struct {
  8760  	_ struct{} `type:"structure"`
  8761  
  8762  	// The current status of the delete project operation.
  8763  	Status *string `type:"string" enum:"ProjectStatus"`
  8764  }
  8765  
  8766  // String returns the string representation.
  8767  //
  8768  // API parameter values that are decorated as "sensitive" in the API will not
  8769  // be included in the string output. The member name will be present, but the
  8770  // value will be replaced with "sensitive".
  8771  func (s DeleteProjectOutput) String() string {
  8772  	return awsutil.Prettify(s)
  8773  }
  8774  
  8775  // GoString returns the string representation.
  8776  //
  8777  // API parameter values that are decorated as "sensitive" in the API will not
  8778  // be included in the string output. The member name will be present, but the
  8779  // value will be replaced with "sensitive".
  8780  func (s DeleteProjectOutput) GoString() string {
  8781  	return s.String()
  8782  }
  8783  
  8784  // SetStatus sets the Status field's value.
  8785  func (s *DeleteProjectOutput) SetStatus(v string) *DeleteProjectOutput {
  8786  	s.Status = &v
  8787  	return s
  8788  }
  8789  
  8790  type DeleteProjectVersionInput struct {
  8791  	_ struct{} `type:"structure"`
  8792  
  8793  	// The Amazon Resource Name (ARN) of the model version that you want to delete.
  8794  	//
  8795  	// ProjectVersionArn is a required field
  8796  	ProjectVersionArn *string `min:"20" type:"string" required:"true"`
  8797  }
  8798  
  8799  // String returns the string representation.
  8800  //
  8801  // API parameter values that are decorated as "sensitive" in the API will not
  8802  // be included in the string output. The member name will be present, but the
  8803  // value will be replaced with "sensitive".
  8804  func (s DeleteProjectVersionInput) String() string {
  8805  	return awsutil.Prettify(s)
  8806  }
  8807  
  8808  // GoString returns the string representation.
  8809  //
  8810  // API parameter values that are decorated as "sensitive" in the API will not
  8811  // be included in the string output. The member name will be present, but the
  8812  // value will be replaced with "sensitive".
  8813  func (s DeleteProjectVersionInput) GoString() string {
  8814  	return s.String()
  8815  }
  8816  
  8817  // Validate inspects the fields of the type to determine if they are valid.
  8818  func (s *DeleteProjectVersionInput) Validate() error {
  8819  	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectVersionInput"}
  8820  	if s.ProjectVersionArn == nil {
  8821  		invalidParams.Add(request.NewErrParamRequired("ProjectVersionArn"))
  8822  	}
  8823  	if s.ProjectVersionArn != nil && len(*s.ProjectVersionArn) < 20 {
  8824  		invalidParams.Add(request.NewErrParamMinLen("ProjectVersionArn", 20))
  8825  	}
  8826  
  8827  	if invalidParams.Len() > 0 {
  8828  		return invalidParams
  8829  	}
  8830  	return nil
  8831  }
  8832  
  8833  // SetProjectVersionArn sets the ProjectVersionArn field's value.
  8834  func (s *DeleteProjectVersionInput) SetProjectVersionArn(v string) *DeleteProjectVersionInput {
  8835  	s.ProjectVersionArn = &v
  8836  	return s
  8837  }
  8838  
  8839  type DeleteProjectVersionOutput struct {
  8840  	_ struct{} `type:"structure"`
  8841  
  8842  	// The status of the deletion operation.
  8843  	Status *string `type:"string" enum:"ProjectVersionStatus"`
  8844  }
  8845  
  8846  // String returns the string representation.
  8847  //
  8848  // API parameter values that are decorated as "sensitive" in the API will not
  8849  // be included in the string output. The member name will be present, but the
  8850  // value will be replaced with "sensitive".
  8851  func (s DeleteProjectVersionOutput) String() string {
  8852  	return awsutil.Prettify(s)
  8853  }
  8854  
  8855  // GoString returns the string representation.
  8856  //
  8857  // API parameter values that are decorated as "sensitive" in the API will not
  8858  // be included in the string output. The member name will be present, but the
  8859  // value will be replaced with "sensitive".
  8860  func (s DeleteProjectVersionOutput) GoString() string {
  8861  	return s.String()
  8862  }
  8863  
  8864  // SetStatus sets the Status field's value.
  8865  func (s *DeleteProjectVersionOutput) SetStatus(v string) *DeleteProjectVersionOutput {
  8866  	s.Status = &v
  8867  	return s
  8868  }
  8869  
  8870  type DeleteStreamProcessorInput struct {
  8871  	_ struct{} `type:"structure"`
  8872  
  8873  	// The name of the stream processor you want to delete.
  8874  	//
  8875  	// Name is a required field
  8876  	Name *string `min:"1" type:"string" required:"true"`
  8877  }
  8878  
  8879  // String returns the string representation.
  8880  //
  8881  // API parameter values that are decorated as "sensitive" in the API will not
  8882  // be included in the string output. The member name will be present, but the
  8883  // value will be replaced with "sensitive".
  8884  func (s DeleteStreamProcessorInput) String() string {
  8885  	return awsutil.Prettify(s)
  8886  }
  8887  
  8888  // GoString returns the string representation.
  8889  //
  8890  // API parameter values that are decorated as "sensitive" in the API will not
  8891  // be included in the string output. The member name will be present, but the
  8892  // value will be replaced with "sensitive".
  8893  func (s DeleteStreamProcessorInput) GoString() string {
  8894  	return s.String()
  8895  }
  8896  
  8897  // Validate inspects the fields of the type to determine if they are valid.
  8898  func (s *DeleteStreamProcessorInput) Validate() error {
  8899  	invalidParams := request.ErrInvalidParams{Context: "DeleteStreamProcessorInput"}
  8900  	if s.Name == nil {
  8901  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8902  	}
  8903  	if s.Name != nil && len(*s.Name) < 1 {
  8904  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8905  	}
  8906  
  8907  	if invalidParams.Len() > 0 {
  8908  		return invalidParams
  8909  	}
  8910  	return nil
  8911  }
  8912  
  8913  // SetName sets the Name field's value.
  8914  func (s *DeleteStreamProcessorInput) SetName(v string) *DeleteStreamProcessorInput {
  8915  	s.Name = &v
  8916  	return s
  8917  }
  8918  
  8919  type DeleteStreamProcessorOutput struct {
  8920  	_ struct{} `type:"structure"`
  8921  }
  8922  
  8923  // String returns the string representation.
  8924  //
  8925  // API parameter values that are decorated as "sensitive" in the API will not
  8926  // be included in the string output. The member name will be present, but the
  8927  // value will be replaced with "sensitive".
  8928  func (s DeleteStreamProcessorOutput) String() string {
  8929  	return awsutil.Prettify(s)
  8930  }
  8931  
  8932  // GoString returns the string representation.
  8933  //
  8934  // API parameter values that are decorated as "sensitive" in the API will not
  8935  // be included in the string output. The member name will be present, but the
  8936  // value will be replaced with "sensitive".
  8937  func (s DeleteStreamProcessorOutput) GoString() string {
  8938  	return s.String()
  8939  }
  8940  
  8941  type DescribeCollectionInput struct {
  8942  	_ struct{} `type:"structure"`
  8943  
  8944  	// The ID of the collection to describe.
  8945  	//
  8946  	// CollectionId is a required field
  8947  	CollectionId *string `min:"1" type:"string" required:"true"`
  8948  }
  8949  
  8950  // String returns the string representation.
  8951  //
  8952  // API parameter values that are decorated as "sensitive" in the API will not
  8953  // be included in the string output. The member name will be present, but the
  8954  // value will be replaced with "sensitive".
  8955  func (s DescribeCollectionInput) String() string {
  8956  	return awsutil.Prettify(s)
  8957  }
  8958  
  8959  // GoString returns the string representation.
  8960  //
  8961  // API parameter values that are decorated as "sensitive" in the API will not
  8962  // be included in the string output. The member name will be present, but the
  8963  // value will be replaced with "sensitive".
  8964  func (s DescribeCollectionInput) GoString() string {
  8965  	return s.String()
  8966  }
  8967  
  8968  // Validate inspects the fields of the type to determine if they are valid.
  8969  func (s *DescribeCollectionInput) Validate() error {
  8970  	invalidParams := request.ErrInvalidParams{Context: "DescribeCollectionInput"}
  8971  	if s.CollectionId == nil {
  8972  		invalidParams.Add(request.NewErrParamRequired("CollectionId"))
  8973  	}
  8974  	if s.CollectionId != nil && len(*s.CollectionId) < 1 {
  8975  		invalidParams.Add(request.NewErrParamMinLen("CollectionId", 1))
  8976  	}
  8977  
  8978  	if invalidParams.Len() > 0 {
  8979  		return invalidParams
  8980  	}
  8981  	return nil
  8982  }
  8983  
  8984  // SetCollectionId sets the CollectionId field's value.
  8985  func (s *DescribeCollectionInput) SetCollectionId(v string) *DescribeCollectionInput {
  8986  	s.CollectionId = &v
  8987  	return s
  8988  }
  8989  
  8990  type DescribeCollectionOutput struct {
  8991  	_ struct{} `type:"structure"`
  8992  
  8993  	// The Amazon Resource Name (ARN) of the collection.
  8994  	CollectionARN *string `type:"string"`
  8995  
  8996  	// The number of milliseconds since the Unix epoch time until the creation of
  8997  	// the collection. The Unix epoch time is 00:00:00 Coordinated Universal Time
  8998  	// (UTC), Thursday, 1 January 1970.
  8999  	CreationTimestamp *time.Time `type:"timestamp"`
  9000  
  9001  	// The number of faces that are indexed into the collection. To index faces
  9002  	// into a collection, use IndexFaces.
  9003  	FaceCount *int64 `type:"long"`
  9004  
  9005  	// The version of the face model that's used by the collection for face detection.
  9006  	//
  9007  	// For more information, see Model Versioning in the Amazon Rekognition Developer
  9008  	// Guide.
  9009  	FaceModelVersion *string `type:"string"`
  9010  }
  9011  
  9012  // String returns the string representation.
  9013  //
  9014  // API parameter values that are decorated as "sensitive" in the API will not
  9015  // be included in the string output. The member name will be present, but the
  9016  // value will be replaced with "sensitive".
  9017  func (s DescribeCollectionOutput) String() string {
  9018  	return awsutil.Prettify(s)
  9019  }
  9020  
  9021  // GoString returns the string representation.
  9022  //
  9023  // API parameter values that are decorated as "sensitive" in the API will not
  9024  // be included in the string output. The member name will be present, but the
  9025  // value will be replaced with "sensitive".
  9026  func (s DescribeCollectionOutput) GoString() string {
  9027  	return s.String()
  9028  }
  9029  
  9030  // SetCollectionARN sets the CollectionARN field's value.
  9031  func (s *DescribeCollectionOutput) SetCollectionARN(v string) *DescribeCollectionOutput {
  9032  	s.CollectionARN = &v
  9033  	return s
  9034  }
  9035  
  9036  // SetCreationTimestamp sets the CreationTimestamp field's value.
  9037  func (s *DescribeCollectionOutput) SetCreationTimestamp(v time.Time) *DescribeCollectionOutput {
  9038  	s.CreationTimestamp = &v
  9039  	return s
  9040  }
  9041  
  9042  // SetFaceCount sets the FaceCount field's value.
  9043  func (s *DescribeCollectionOutput) SetFaceCount(v int64) *DescribeCollectionOutput {
  9044  	s.FaceCount = &v
  9045  	return s
  9046  }
  9047  
  9048  // SetFaceModelVersion sets the FaceModelVersion field's value.
  9049  func (s *DescribeCollectionOutput) SetFaceModelVersion(v string) *DescribeCollectionOutput {
  9050  	s.FaceModelVersion = &v
  9051  	return s
  9052  }
  9053  
  9054  type DescribeProjectVersionsInput struct {
  9055  	_ struct{} `type:"structure"`
  9056  
  9057  	// The maximum number of results to return per paginated call. The largest value
  9058  	// you can specify is 100. If you specify a value greater than 100, a ValidationException
  9059  	// error occurs. The default value is 100.
  9060  	MaxResults *int64 `min:"1" type:"integer"`
  9061  
  9062  	// If the previous response was incomplete (because there is more results to
  9063  	// retrieve), Amazon Rekognition Custom Labels returns a pagination token in
  9064  	// the response. You can use this pagination token to retrieve the next set
  9065  	// of results.
  9066  	NextToken *string `type:"string"`
  9067  
  9068  	// The Amazon Resource Name (ARN) of the project that contains the models you
  9069  	// want to describe.
  9070  	//
  9071  	// ProjectArn is a required field
  9072  	ProjectArn *string `min:"20" type:"string" required:"true"`
  9073  
  9074  	// A list of model version names that you want to describe. You can add up to
  9075  	// 10 model version names to the list. If you don't specify a value, all model
  9076  	// descriptions are returned. A version name is part of a model (ProjectVersion)
  9077  	// ARN. For example, my-model.2020-01-21T09.10.15 is the version name in the
  9078  	// following ARN. arn:aws:rekognition:us-east-1:123456789012:project/getting-started/version/my-model.2020-01-21T09.10.15/1234567890123.
  9079  	VersionNames []*string `min:"1" type:"list"`
  9080  }
  9081  
  9082  // String returns the string representation.
  9083  //
  9084  // API parameter values that are decorated as "sensitive" in the API will not
  9085  // be included in the string output. The member name will be present, but the
  9086  // value will be replaced with "sensitive".
  9087  func (s DescribeProjectVersionsInput) String() string {
  9088  	return awsutil.Prettify(s)
  9089  }
  9090  
  9091  // GoString returns the string representation.
  9092  //
  9093  // API parameter values that are decorated as "sensitive" in the API will not
  9094  // be included in the string output. The member name will be present, but the
  9095  // value will be replaced with "sensitive".
  9096  func (s DescribeProjectVersionsInput) GoString() string {
  9097  	return s.String()
  9098  }
  9099  
  9100  // Validate inspects the fields of the type to determine if they are valid.
  9101  func (s *DescribeProjectVersionsInput) Validate() error {
  9102  	invalidParams := request.ErrInvalidParams{Context: "DescribeProjectVersionsInput"}
  9103  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9104  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9105  	}
  9106  	if s.ProjectArn == nil {
  9107  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
  9108  	}
  9109  	if s.ProjectArn != nil && len(*s.ProjectArn) < 20 {
  9110  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 20))
  9111  	}
  9112  	if s.VersionNames != nil && len(s.VersionNames) < 1 {
  9113  		invalidParams.Add(request.NewErrParamMinLen("VersionNames", 1))
  9114  	}
  9115  
  9116  	if invalidParams.Len() > 0 {
  9117  		return invalidParams
  9118  	}
  9119  	return nil
  9120  }
  9121  
  9122  // SetMaxResults sets the MaxResults field's value.
  9123  func (s *DescribeProjectVersionsInput) SetMaxResults(v int64) *DescribeProjectVersionsInput {
  9124  	s.MaxResults = &v
  9125  	return s
  9126  }
  9127  
  9128  // SetNextToken sets the NextToken field's value.
  9129  func (s *DescribeProjectVersionsInput) SetNextToken(v string) *DescribeProjectVersionsInput {
  9130  	s.NextToken = &v
  9131  	return s
  9132  }
  9133  
  9134  // SetProjectArn sets the ProjectArn field's value.
  9135  func (s *DescribeProjectVersionsInput) SetProjectArn(v string) *DescribeProjectVersionsInput {
  9136  	s.ProjectArn = &v
  9137  	return s
  9138  }
  9139  
  9140  // SetVersionNames sets the VersionNames field's value.
  9141  func (s *DescribeProjectVersionsInput) SetVersionNames(v []*string) *DescribeProjectVersionsInput {
  9142  	s.VersionNames = v
  9143  	return s
  9144  }
  9145  
  9146  type DescribeProjectVersionsOutput struct {
  9147  	_ struct{} `type:"structure"`
  9148  
  9149  	// If the previous response was incomplete (because there is more results to
  9150  	// retrieve), Amazon Rekognition Custom Labels returns a pagination token in
  9151  	// the response. You can use this pagination token to retrieve the next set
  9152  	// of results.
  9153  	NextToken *string `type:"string"`
  9154  
  9155  	// A list of model descriptions. The list is sorted by the creation date and
  9156  	// time of the model versions, latest to earliest.
  9157  	ProjectVersionDescriptions []*ProjectVersionDescription `type:"list"`
  9158  }
  9159  
  9160  // String returns the string representation.
  9161  //
  9162  // API parameter values that are decorated as "sensitive" in the API will not
  9163  // be included in the string output. The member name will be present, but the
  9164  // value will be replaced with "sensitive".
  9165  func (s DescribeProjectVersionsOutput) String() string {
  9166  	return awsutil.Prettify(s)
  9167  }
  9168  
  9169  // GoString returns the string representation.
  9170  //
  9171  // API parameter values that are decorated as "sensitive" in the API will not
  9172  // be included in the string output. The member name will be present, but the
  9173  // value will be replaced with "sensitive".
  9174  func (s DescribeProjectVersionsOutput) GoString() string {
  9175  	return s.String()
  9176  }
  9177  
  9178  // SetNextToken sets the NextToken field's value.
  9179  func (s *DescribeProjectVersionsOutput) SetNextToken(v string) *DescribeProjectVersionsOutput {
  9180  	s.NextToken = &v
  9181  	return s
  9182  }
  9183  
  9184  // SetProjectVersionDescriptions sets the ProjectVersionDescriptions field's value.
  9185  func (s *DescribeProjectVersionsOutput) SetProjectVersionDescriptions(v []*ProjectVersionDescription) *DescribeProjectVersionsOutput {
  9186  	s.ProjectVersionDescriptions = v
  9187  	return s
  9188  }
  9189  
  9190  type DescribeProjectsInput struct {
  9191  	_ struct{} `type:"structure"`
  9192  
  9193  	// The maximum number of results to return per paginated call. The largest value
  9194  	// you can specify is 100. If you specify a value greater than 100, a ValidationException
  9195  	// error occurs. The default value is 100.
  9196  	MaxResults *int64 `min:"1" type:"integer"`
  9197  
  9198  	// If the previous response was incomplete (because there is more results to
  9199  	// retrieve), Amazon Rekognition Custom Labels returns a pagination token in
  9200  	// the response. You can use this pagination token to retrieve the next set
  9201  	// of results.
  9202  	NextToken *string `type:"string"`
  9203  }
  9204  
  9205  // String returns the string representation.
  9206  //
  9207  // API parameter values that are decorated as "sensitive" in the API will not
  9208  // be included in the string output. The member name will be present, but the
  9209  // value will be replaced with "sensitive".
  9210  func (s DescribeProjectsInput) String() string {
  9211  	return awsutil.Prettify(s)
  9212  }
  9213  
  9214  // GoString returns the string representation.
  9215  //
  9216  // API parameter values that are decorated as "sensitive" in the API will not
  9217  // be included in the string output. The member name will be present, but the
  9218  // value will be replaced with "sensitive".
  9219  func (s DescribeProjectsInput) GoString() string {
  9220  	return s.String()
  9221  }
  9222  
  9223  // Validate inspects the fields of the type to determine if they are valid.
  9224  func (s *DescribeProjectsInput) Validate() error {
  9225  	invalidParams := request.ErrInvalidParams{Context: "DescribeProjectsInput"}
  9226  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9227  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9228  	}
  9229  
  9230  	if invalidParams.Len() > 0 {
  9231  		return invalidParams
  9232  	}
  9233  	return nil
  9234  }
  9235  
  9236  // SetMaxResults sets the MaxResults field's value.
  9237  func (s *DescribeProjectsInput) SetMaxResults(v int64) *DescribeProjectsInput {
  9238  	s.MaxResults = &v
  9239  	return s
  9240  }
  9241  
  9242  // SetNextToken sets the NextToken field's value.
  9243  func (s *DescribeProjectsInput) SetNextToken(v string) *DescribeProjectsInput {
  9244  	s.NextToken = &v
  9245  	return s
  9246  }
  9247  
  9248  type DescribeProjectsOutput struct {
  9249  	_ struct{} `type:"structure"`
  9250  
  9251  	// If the previous response was incomplete (because there is more results to
  9252  	// retrieve), Amazon Rekognition Custom Labels returns a pagination token in
  9253  	// the response. You can use this pagination token to retrieve the next set
  9254  	// of results.
  9255  	NextToken *string `type:"string"`
  9256  
  9257  	// A list of project descriptions. The list is sorted by the date and time the
  9258  	// projects are created.
  9259  	ProjectDescriptions []*ProjectDescription `type:"list"`
  9260  }
  9261  
  9262  // String returns the string representation.
  9263  //
  9264  // API parameter values that are decorated as "sensitive" in the API will not
  9265  // be included in the string output. The member name will be present, but the
  9266  // value will be replaced with "sensitive".
  9267  func (s DescribeProjectsOutput) String() string {
  9268  	return awsutil.Prettify(s)
  9269  }
  9270  
  9271  // GoString returns the string representation.
  9272  //
  9273  // API parameter values that are decorated as "sensitive" in the API will not
  9274  // be included in the string output. The member name will be present, but the
  9275  // value will be replaced with "sensitive".
  9276  func (s DescribeProjectsOutput) GoString() string {
  9277  	return s.String()
  9278  }
  9279  
  9280  // SetNextToken sets the NextToken field's value.
  9281  func (s *DescribeProjectsOutput) SetNextToken(v string) *DescribeProjectsOutput {
  9282  	s.NextToken = &v
  9283  	return s
  9284  }
  9285  
  9286  // SetProjectDescriptions sets the ProjectDescriptions field's value.
  9287  func (s *DescribeProjectsOutput) SetProjectDescriptions(v []*ProjectDescription) *DescribeProjectsOutput {
  9288  	s.ProjectDescriptions = v
  9289  	return s
  9290  }
  9291  
  9292  type DescribeStreamProcessorInput struct {
  9293  	_ struct{} `type:"structure"`
  9294  
  9295  	// Name of the stream processor for which you want information.
  9296  	//
  9297  	// Name is a required field
  9298  	Name *string `min:"1" type:"string" required:"true"`
  9299  }
  9300  
  9301  // String returns the string representation.
  9302  //
  9303  // API parameter values that are decorated as "sensitive" in the API will not
  9304  // be included in the string output. The member name will be present, but the
  9305  // value will be replaced with "sensitive".
  9306  func (s DescribeStreamProcessorInput) String() string {
  9307  	return awsutil.Prettify(s)
  9308  }
  9309  
  9310  // GoString returns the string representation.
  9311  //
  9312  // API parameter values that are decorated as "sensitive" in the API will not
  9313  // be included in the string output. The member name will be present, but the
  9314  // value will be replaced with "sensitive".
  9315  func (s DescribeStreamProcessorInput) GoString() string {
  9316  	return s.String()
  9317  }
  9318  
  9319  // Validate inspects the fields of the type to determine if they are valid.
  9320  func (s *DescribeStreamProcessorInput) Validate() error {
  9321  	invalidParams := request.ErrInvalidParams{Context: "DescribeStreamProcessorInput"}
  9322  	if s.Name == nil {
  9323  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9324  	}
  9325  	if s.Name != nil && len(*s.Name) < 1 {
  9326  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9327  	}
  9328  
  9329  	if invalidParams.Len() > 0 {
  9330  		return invalidParams
  9331  	}
  9332  	return nil
  9333  }
  9334  
  9335  // SetName sets the Name field's value.
  9336  func (s *DescribeStreamProcessorInput) SetName(v string) *DescribeStreamProcessorInput {
  9337  	s.Name = &v
  9338  	return s
  9339  }
  9340  
  9341  type DescribeStreamProcessorOutput struct {
  9342  	_ struct{} `type:"structure"`
  9343  
  9344  	// Date and time the stream processor was created
  9345  	CreationTimestamp *time.Time `type:"timestamp"`
  9346  
  9347  	// Kinesis video stream that provides the source streaming video.
  9348  	Input *StreamProcessorInput `type:"structure"`
  9349  
  9350  	// The time, in Unix format, the stream processor was last updated. For example,
  9351  	// when the stream processor moves from a running state to a failed state, or
  9352  	// when the user starts or stops the stream processor.
  9353  	LastUpdateTimestamp *time.Time `type:"timestamp"`
  9354  
  9355  	// Name of the stream processor.
  9356  	Name *string `min:"1" type:"string"`
  9357  
  9358  	// Kinesis data stream to which Amazon Rekognition Video puts the analysis results.
  9359  	Output *StreamProcessorOutput `type:"structure"`
  9360  
  9361  	// ARN of the IAM role that allows access to the stream processor.
  9362  	RoleArn *string `type:"string"`
  9363  
  9364  	// Face recognition input parameters that are being used by the stream processor.
  9365  	// Includes the collection to use for face recognition and the face attributes
  9366  	// to detect.
  9367  	Settings *StreamProcessorSettings `type:"structure"`
  9368  
  9369  	// Current status of the stream processor.
  9370  	Status *string `type:"string" enum:"StreamProcessorStatus"`
  9371  
  9372  	// Detailed status message about the stream processor.
  9373  	StatusMessage *string `type:"string"`
  9374  
  9375  	// ARN of the stream processor.
  9376  	StreamProcessorArn *string `type:"string"`
  9377  }
  9378  
  9379  // String returns the string representation.
  9380  //
  9381  // API parameter values that are decorated as "sensitive" in the API will not
  9382  // be included in the string output. The member name will be present, but the
  9383  // value will be replaced with "sensitive".
  9384  func (s DescribeStreamProcessorOutput) String() string {
  9385  	return awsutil.Prettify(s)
  9386  }
  9387  
  9388  // GoString returns the string representation.
  9389  //
  9390  // API parameter values that are decorated as "sensitive" in the API will not
  9391  // be included in the string output. The member name will be present, but the
  9392  // value will be replaced with "sensitive".
  9393  func (s DescribeStreamProcessorOutput) GoString() string {
  9394  	return s.String()
  9395  }
  9396  
  9397  // SetCreationTimestamp sets the CreationTimestamp field's value.
  9398  func (s *DescribeStreamProcessorOutput) SetCreationTimestamp(v time.Time) *DescribeStreamProcessorOutput {
  9399  	s.CreationTimestamp = &v
  9400  	return s
  9401  }
  9402  
  9403  // SetInput sets the Input field's value.
  9404  func (s *DescribeStreamProcessorOutput) SetInput(v *StreamProcessorInput) *DescribeStreamProcessorOutput {
  9405  	s.Input = v
  9406  	return s
  9407  }
  9408  
  9409  // SetLastUpdateTimestamp sets the LastUpdateTimestamp field's value.
  9410  func (s *DescribeStreamProcessorOutput) SetLastUpdateTimestamp(v time.Time) *DescribeStreamProcessorOutput {
  9411  	s.LastUpdateTimestamp = &v
  9412  	return s
  9413  }
  9414  
  9415  // SetName sets the Name field's value.
  9416  func (s *DescribeStreamProcessorOutput) SetName(v string) *DescribeStreamProcessorOutput {
  9417  	s.Name = &v
  9418  	return s
  9419  }
  9420  
  9421  // SetOutput sets the Output field's value.
  9422  func (s *DescribeStreamProcessorOutput) SetOutput(v *StreamProcessorOutput) *DescribeStreamProcessorOutput {
  9423  	s.Output = v
  9424  	return s
  9425  }
  9426  
  9427  // SetRoleArn sets the RoleArn field's value.
  9428  func (s *DescribeStreamProcessorOutput) SetRoleArn(v string) *DescribeStreamProcessorOutput {
  9429  	s.RoleArn = &v
  9430  	return s
  9431  }
  9432  
  9433  // SetSettings sets the Settings field's value.
  9434  func (s *DescribeStreamProcessorOutput) SetSettings(v *StreamProcessorSettings) *DescribeStreamProcessorOutput {
  9435  	s.Settings = v
  9436  	return s
  9437  }
  9438  
  9439  // SetStatus sets the Status field's value.
  9440  func (s *DescribeStreamProcessorOutput) SetStatus(v string) *DescribeStreamProcessorOutput {
  9441  	s.Status = &v
  9442  	return s
  9443  }
  9444  
  9445  // SetStatusMessage sets the StatusMessage field's value.
  9446  func (s *DescribeStreamProcessorOutput) SetStatusMessage(v string) *DescribeStreamProcessorOutput {
  9447  	s.StatusMessage = &v
  9448  	return s
  9449  }
  9450  
  9451  // SetStreamProcessorArn sets the StreamProcessorArn field's value.
  9452  func (s *DescribeStreamProcessorOutput) SetStreamProcessorArn(v string) *DescribeStreamProcessorOutput {
  9453  	s.StreamProcessorArn = &v
  9454  	return s
  9455  }
  9456  
  9457  type DetectCustomLabelsInput struct {
  9458  	_ struct{} `type:"structure"`
  9459  
  9460  	// Provides the input image either as bytes or an S3 object.
  9461  	//
  9462  	// You pass image bytes to an Amazon Rekognition API operation by using the
  9463  	// Bytes property. For example, you would use the Bytes property to pass an
  9464  	// image loaded from a local file system. Image bytes passed by using the Bytes
  9465  	// property must be base64-encoded. Your code may not need to encode image bytes
  9466  	// if you are using an AWS SDK to call Amazon Rekognition API operations.
  9467  	//
  9468  	// For more information, see Analyzing an Image Loaded from a Local File System
  9469  	// in the Amazon Rekognition Developer Guide.
  9470  	//
  9471  	// You pass images stored in an S3 bucket to an Amazon Rekognition API operation
  9472  	// by using the S3Object property. Images stored in an S3 bucket do not need
  9473  	// to be base64-encoded.
  9474  	//
  9475  	// The region for the S3 bucket containing the S3 object must match the region
  9476  	// you use for Amazon Rekognition operations.
  9477  	//
  9478  	// If you use the AWS CLI to call Amazon Rekognition operations, passing image
  9479  	// bytes using the Bytes property is not supported. You must first upload the
  9480  	// image to an Amazon S3 bucket and then call the operation using the S3Object
  9481  	// property.
  9482  	//
  9483  	// For Amazon Rekognition to process an S3 object, the user must have permission
  9484  	// to access the S3 object. For more information, see Resource Based Policies
  9485  	// in the Amazon Rekognition Developer Guide.
  9486  	//
  9487  	// Image is a required field
  9488  	Image *Image `type:"structure" required:"true"`
  9489  
  9490  	// Maximum number of results you want the service to return in the response.
  9491  	// The service returns the specified number of highest confidence labels ranked
  9492  	// from highest confidence to lowest.
  9493  	MaxResults *int64 `type:"integer"`
  9494  
  9495  	// Specifies the minimum confidence level for the labels to return. DetectCustomLabels
  9496  	// doesn't return any labels with a confidence value that's lower than this
  9497  	// specified value. If you specify a value of 0, DetectCustomLabels returns
  9498  	// all labels, regardless of the assumed threshold applied to each label. If
  9499  	// you don't specify a value for MinConfidence, DetectCustomLabels returns labels
  9500  	// based on the assumed threshold of each label.
  9501  	MinConfidence *float64 `type:"float"`
  9502  
  9503  	// The ARN of the model version that you want to use.
  9504  	//
  9505  	// ProjectVersionArn is a required field
  9506  	ProjectVersionArn *string `min:"20" type:"string" required:"true"`
  9507  }
  9508  
  9509  // String returns the string representation.
  9510  //
  9511  // API parameter values that are decorated as "sensitive" in the API will not
  9512  // be included in the string output. The member name will be present, but the
  9513  // value will be replaced with "sensitive".
  9514  func (s DetectCustomLabelsInput) String() string {
  9515  	return awsutil.Prettify(s)
  9516  }
  9517  
  9518  // GoString returns the string representation.
  9519  //
  9520  // API parameter values that are decorated as "sensitive" in the API will not
  9521  // be included in the string output. The member name will be present, but the
  9522  // value will be replaced with "sensitive".
  9523  func (s DetectCustomLabelsInput) GoString() string {
  9524  	return s.String()
  9525  }
  9526  
  9527  // Validate inspects the fields of the type to determine if they are valid.
  9528  func (s *DetectCustomLabelsInput) Validate() error {
  9529  	invalidParams := request.ErrInvalidParams{Context: "DetectCustomLabelsInput"}
  9530  	if s.Image == nil {
  9531  		invalidParams.Add(request.NewErrParamRequired("Image"))
  9532  	}
  9533  	if s.ProjectVersionArn == nil {
  9534  		invalidParams.Add(request.NewErrParamRequired("ProjectVersionArn"))
  9535  	}
  9536  	if s.ProjectVersionArn != nil && len(*s.ProjectVersionArn) < 20 {
  9537  		invalidParams.Add(request.NewErrParamMinLen("ProjectVersionArn", 20))
  9538  	}
  9539  	if s.Image != nil {
  9540  		if err := s.Image.Validate(); err != nil {
  9541  			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  9542  		}
  9543  	}
  9544  
  9545  	if invalidParams.Len() > 0 {
  9546  		return invalidParams
  9547  	}
  9548  	return nil
  9549  }
  9550  
  9551  // SetImage sets the Image field's value.
  9552  func (s *DetectCustomLabelsInput) SetImage(v *Image) *DetectCustomLabelsInput {
  9553  	s.Image = v
  9554  	return s
  9555  }
  9556  
  9557  // SetMaxResults sets the MaxResults field's value.
  9558  func (s *DetectCustomLabelsInput) SetMaxResults(v int64) *DetectCustomLabelsInput {
  9559  	s.MaxResults = &v
  9560  	return s
  9561  }
  9562  
  9563  // SetMinConfidence sets the MinConfidence field's value.
  9564  func (s *DetectCustomLabelsInput) SetMinConfidence(v float64) *DetectCustomLabelsInput {
  9565  	s.MinConfidence = &v
  9566  	return s
  9567  }
  9568  
  9569  // SetProjectVersionArn sets the ProjectVersionArn field's value.
  9570  func (s *DetectCustomLabelsInput) SetProjectVersionArn(v string) *DetectCustomLabelsInput {
  9571  	s.ProjectVersionArn = &v
  9572  	return s
  9573  }
  9574  
  9575  type DetectCustomLabelsOutput struct {
  9576  	_ struct{} `type:"structure"`
  9577  
  9578  	// An array of custom labels detected in the input image.
  9579  	CustomLabels []*CustomLabel `type:"list"`
  9580  }
  9581  
  9582  // String returns the string representation.
  9583  //
  9584  // API parameter values that are decorated as "sensitive" in the API will not
  9585  // be included in the string output. The member name will be present, but the
  9586  // value will be replaced with "sensitive".
  9587  func (s DetectCustomLabelsOutput) String() string {
  9588  	return awsutil.Prettify(s)
  9589  }
  9590  
  9591  // GoString returns the string representation.
  9592  //
  9593  // API parameter values that are decorated as "sensitive" in the API will not
  9594  // be included in the string output. The member name will be present, but the
  9595  // value will be replaced with "sensitive".
  9596  func (s DetectCustomLabelsOutput) GoString() string {
  9597  	return s.String()
  9598  }
  9599  
  9600  // SetCustomLabels sets the CustomLabels field's value.
  9601  func (s *DetectCustomLabelsOutput) SetCustomLabels(v []*CustomLabel) *DetectCustomLabelsOutput {
  9602  	s.CustomLabels = v
  9603  	return s
  9604  }
  9605  
  9606  type DetectFacesInput struct {
  9607  	_ struct{} `type:"structure"`
  9608  
  9609  	// An array of facial attributes you want to be returned. This can be the default
  9610  	// list of attributes or all attributes. If you don't specify a value for Attributes
  9611  	// or if you specify ["DEFAULT"], the API returns the following subset of facial
  9612  	// attributes: BoundingBox, Confidence, Pose, Quality, and Landmarks. If you
  9613  	// provide ["ALL"], all facial attributes are returned, but the operation takes
  9614  	// longer to complete.
  9615  	//
  9616  	// If you provide both, ["ALL", "DEFAULT"], the service uses a logical AND operator
  9617  	// to determine which attributes to return (in this case, all attributes).
  9618  	Attributes []*string `type:"list"`
  9619  
  9620  	// The input image as base64-encoded bytes or an S3 object. If you use the AWS
  9621  	// CLI to call Amazon Rekognition operations, passing base64-encoded image bytes
  9622  	// is not supported.
  9623  	//
  9624  	// If you are using an AWS SDK to call Amazon Rekognition, you might not need
  9625  	// to base64-encode image bytes passed using the Bytes field. For more information,
  9626  	// see Images in the Amazon Rekognition developer guide.
  9627  	//
  9628  	// Image is a required field
  9629  	Image *Image `type:"structure" required:"true"`
  9630  }
  9631  
  9632  // String returns the string representation.
  9633  //
  9634  // API parameter values that are decorated as "sensitive" in the API will not
  9635  // be included in the string output. The member name will be present, but the
  9636  // value will be replaced with "sensitive".
  9637  func (s DetectFacesInput) String() string {
  9638  	return awsutil.Prettify(s)
  9639  }
  9640  
  9641  // GoString returns the string representation.
  9642  //
  9643  // API parameter values that are decorated as "sensitive" in the API will not
  9644  // be included in the string output. The member name will be present, but the
  9645  // value will be replaced with "sensitive".
  9646  func (s DetectFacesInput) GoString() string {
  9647  	return s.String()
  9648  }
  9649  
  9650  // Validate inspects the fields of the type to determine if they are valid.
  9651  func (s *DetectFacesInput) Validate() error {
  9652  	invalidParams := request.ErrInvalidParams{Context: "DetectFacesInput"}
  9653  	if s.Image == nil {
  9654  		invalidParams.Add(request.NewErrParamRequired("Image"))
  9655  	}
  9656  	if s.Image != nil {
  9657  		if err := s.Image.Validate(); err != nil {
  9658  			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  9659  		}
  9660  	}
  9661  
  9662  	if invalidParams.Len() > 0 {
  9663  		return invalidParams
  9664  	}
  9665  	return nil
  9666  }
  9667  
  9668  // SetAttributes sets the Attributes field's value.
  9669  func (s *DetectFacesInput) SetAttributes(v []*string) *DetectFacesInput {
  9670  	s.Attributes = v
  9671  	return s
  9672  }
  9673  
  9674  // SetImage sets the Image field's value.
  9675  func (s *DetectFacesInput) SetImage(v *Image) *DetectFacesInput {
  9676  	s.Image = v
  9677  	return s
  9678  }
  9679  
  9680  type DetectFacesOutput struct {
  9681  	_ struct{} `type:"structure"`
  9682  
  9683  	// Details of each face found in the image.
  9684  	FaceDetails []*FaceDetail `type:"list"`
  9685  
  9686  	// The value of OrientationCorrection is always null.
  9687  	//
  9688  	// If the input image is in .jpeg format, it might contain exchangeable image
  9689  	// file format (Exif) metadata that includes the image's orientation. Amazon
  9690  	// Rekognition uses this orientation information to perform image correction.
  9691  	// The bounding box coordinates are translated to represent object locations
  9692  	// after the orientation information in the Exif metadata is used to correct
  9693  	// the image orientation. Images in .png format don't contain Exif metadata.
  9694  	//
  9695  	// Amazon Rekognition doesn’t perform image correction for images in .png
  9696  	// format and .jpeg images without orientation information in the image Exif
  9697  	// metadata. The bounding box coordinates aren't translated and represent the
  9698  	// object locations before the image is rotated.
  9699  	OrientationCorrection *string `type:"string" enum:"OrientationCorrection"`
  9700  }
  9701  
  9702  // String returns the string representation.
  9703  //
  9704  // API parameter values that are decorated as "sensitive" in the API will not
  9705  // be included in the string output. The member name will be present, but the
  9706  // value will be replaced with "sensitive".
  9707  func (s DetectFacesOutput) String() string {
  9708  	return awsutil.Prettify(s)
  9709  }
  9710  
  9711  // GoString returns the string representation.
  9712  //
  9713  // API parameter values that are decorated as "sensitive" in the API will not
  9714  // be included in the string output. The member name will be present, but the
  9715  // value will be replaced with "sensitive".
  9716  func (s DetectFacesOutput) GoString() string {
  9717  	return s.String()
  9718  }
  9719  
  9720  // SetFaceDetails sets the FaceDetails field's value.
  9721  func (s *DetectFacesOutput) SetFaceDetails(v []*FaceDetail) *DetectFacesOutput {
  9722  	s.FaceDetails = v
  9723  	return s
  9724  }
  9725  
  9726  // SetOrientationCorrection sets the OrientationCorrection field's value.
  9727  func (s *DetectFacesOutput) SetOrientationCorrection(v string) *DetectFacesOutput {
  9728  	s.OrientationCorrection = &v
  9729  	return s
  9730  }
  9731  
  9732  type DetectLabelsInput struct {
  9733  	_ struct{} `type:"structure"`
  9734  
  9735  	// The input image as base64-encoded bytes or an S3 object. If you use the AWS
  9736  	// CLI to call Amazon Rekognition operations, passing image bytes is not supported.
  9737  	// Images stored in an S3 Bucket do not need to be base64-encoded.
  9738  	//
  9739  	// If you are using an AWS SDK to call Amazon Rekognition, you might not need
  9740  	// to base64-encode image bytes passed using the Bytes field. For more information,
  9741  	// see Images in the Amazon Rekognition developer guide.
  9742  	//
  9743  	// Image is a required field
  9744  	Image *Image `type:"structure" required:"true"`
  9745  
  9746  	// Maximum number of labels you want the service to return in the response.
  9747  	// The service returns the specified number of highest confidence labels.
  9748  	MaxLabels *int64 `type:"integer"`
  9749  
  9750  	// Specifies the minimum confidence level for the labels to return. Amazon Rekognition
  9751  	// doesn't return any labels with confidence lower than this specified value.
  9752  	//
  9753  	// If MinConfidence is not specified, the operation returns labels with a confidence
  9754  	// values greater than or equal to 55 percent.
  9755  	MinConfidence *float64 `type:"float"`
  9756  }
  9757  
  9758  // String returns the string representation.
  9759  //
  9760  // API parameter values that are decorated as "sensitive" in the API will not
  9761  // be included in the string output. The member name will be present, but the
  9762  // value will be replaced with "sensitive".
  9763  func (s DetectLabelsInput) String() string {
  9764  	return awsutil.Prettify(s)
  9765  }
  9766  
  9767  // GoString returns the string representation.
  9768  //
  9769  // API parameter values that are decorated as "sensitive" in the API will not
  9770  // be included in the string output. The member name will be present, but the
  9771  // value will be replaced with "sensitive".
  9772  func (s DetectLabelsInput) GoString() string {
  9773  	return s.String()
  9774  }
  9775  
  9776  // Validate inspects the fields of the type to determine if they are valid.
  9777  func (s *DetectLabelsInput) Validate() error {
  9778  	invalidParams := request.ErrInvalidParams{Context: "DetectLabelsInput"}
  9779  	if s.Image == nil {
  9780  		invalidParams.Add(request.NewErrParamRequired("Image"))
  9781  	}
  9782  	if s.Image != nil {
  9783  		if err := s.Image.Validate(); err != nil {
  9784  			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  9785  		}
  9786  	}
  9787  
  9788  	if invalidParams.Len() > 0 {
  9789  		return invalidParams
  9790  	}
  9791  	return nil
  9792  }
  9793  
  9794  // SetImage sets the Image field's value.
  9795  func (s *DetectLabelsInput) SetImage(v *Image) *DetectLabelsInput {
  9796  	s.Image = v
  9797  	return s
  9798  }
  9799  
  9800  // SetMaxLabels sets the MaxLabels field's value.
  9801  func (s *DetectLabelsInput) SetMaxLabels(v int64) *DetectLabelsInput {
  9802  	s.MaxLabels = &v
  9803  	return s
  9804  }
  9805  
  9806  // SetMinConfidence sets the MinConfidence field's value.
  9807  func (s *DetectLabelsInput) SetMinConfidence(v float64) *DetectLabelsInput {
  9808  	s.MinConfidence = &v
  9809  	return s
  9810  }
  9811  
  9812  type DetectLabelsOutput struct {
  9813  	_ struct{} `type:"structure"`
  9814  
  9815  	// Version number of the label detection model that was used to detect labels.
  9816  	LabelModelVersion *string `type:"string"`
  9817  
  9818  	// An array of labels for the real-world objects detected.
  9819  	Labels []*Label `type:"list"`
  9820  
  9821  	// The value of OrientationCorrection is always null.
  9822  	//
  9823  	// If the input image is in .jpeg format, it might contain exchangeable image
  9824  	// file format (Exif) metadata that includes the image's orientation. Amazon
  9825  	// Rekognition uses this orientation information to perform image correction.
  9826  	// The bounding box coordinates are translated to represent object locations
  9827  	// after the orientation information in the Exif metadata is used to correct
  9828  	// the image orientation. Images in .png format don't contain Exif metadata.
  9829  	//
  9830  	// Amazon Rekognition doesn’t perform image correction for images in .png
  9831  	// format and .jpeg images without orientation information in the image Exif
  9832  	// metadata. The bounding box coordinates aren't translated and represent the
  9833  	// object locations before the image is rotated.
  9834  	OrientationCorrection *string `type:"string" enum:"OrientationCorrection"`
  9835  }
  9836  
  9837  // String returns the string representation.
  9838  //
  9839  // API parameter values that are decorated as "sensitive" in the API will not
  9840  // be included in the string output. The member name will be present, but the
  9841  // value will be replaced with "sensitive".
  9842  func (s DetectLabelsOutput) String() string {
  9843  	return awsutil.Prettify(s)
  9844  }
  9845  
  9846  // GoString returns the string representation.
  9847  //
  9848  // API parameter values that are decorated as "sensitive" in the API will not
  9849  // be included in the string output. The member name will be present, but the
  9850  // value will be replaced with "sensitive".
  9851  func (s DetectLabelsOutput) GoString() string {
  9852  	return s.String()
  9853  }
  9854  
  9855  // SetLabelModelVersion sets the LabelModelVersion field's value.
  9856  func (s *DetectLabelsOutput) SetLabelModelVersion(v string) *DetectLabelsOutput {
  9857  	s.LabelModelVersion = &v
  9858  	return s
  9859  }
  9860  
  9861  // SetLabels sets the Labels field's value.
  9862  func (s *DetectLabelsOutput) SetLabels(v []*Label) *DetectLabelsOutput {
  9863  	s.Labels = v
  9864  	return s
  9865  }
  9866  
  9867  // SetOrientationCorrection sets the OrientationCorrection field's value.
  9868  func (s *DetectLabelsOutput) SetOrientationCorrection(v string) *DetectLabelsOutput {
  9869  	s.OrientationCorrection = &v
  9870  	return s
  9871  }
  9872  
  9873  type DetectModerationLabelsInput struct {
  9874  	_ struct{} `type:"structure"`
  9875  
  9876  	// Sets up the configuration for human evaluation, including the FlowDefinition
  9877  	// the image will be sent to.
  9878  	HumanLoopConfig *HumanLoopConfig `type:"structure"`
  9879  
  9880  	// The input image as base64-encoded bytes or an S3 object. If you use the AWS
  9881  	// CLI to call Amazon Rekognition operations, passing base64-encoded image bytes
  9882  	// is not supported.
  9883  	//
  9884  	// If you are using an AWS SDK to call Amazon Rekognition, you might not need
  9885  	// to base64-encode image bytes passed using the Bytes field. For more information,
  9886  	// see Images in the Amazon Rekognition developer guide.
  9887  	//
  9888  	// Image is a required field
  9889  	Image *Image `type:"structure" required:"true"`
  9890  
  9891  	// Specifies the minimum confidence level for the labels to return. Amazon Rekognition
  9892  	// doesn't return any labels with a confidence level lower than this specified
  9893  	// value.
  9894  	//
  9895  	// If you don't specify MinConfidence, the operation returns labels with confidence
  9896  	// values greater than or equal to 50 percent.
  9897  	MinConfidence *float64 `type:"float"`
  9898  }
  9899  
  9900  // String returns the string representation.
  9901  //
  9902  // API parameter values that are decorated as "sensitive" in the API will not
  9903  // be included in the string output. The member name will be present, but the
  9904  // value will be replaced with "sensitive".
  9905  func (s DetectModerationLabelsInput) String() string {
  9906  	return awsutil.Prettify(s)
  9907  }
  9908  
  9909  // GoString returns the string representation.
  9910  //
  9911  // API parameter values that are decorated as "sensitive" in the API will not
  9912  // be included in the string output. The member name will be present, but the
  9913  // value will be replaced with "sensitive".
  9914  func (s DetectModerationLabelsInput) GoString() string {
  9915  	return s.String()
  9916  }
  9917  
  9918  // Validate inspects the fields of the type to determine if they are valid.
  9919  func (s *DetectModerationLabelsInput) Validate() error {
  9920  	invalidParams := request.ErrInvalidParams{Context: "DetectModerationLabelsInput"}
  9921  	if s.Image == nil {
  9922  		invalidParams.Add(request.NewErrParamRequired("Image"))
  9923  	}
  9924  	if s.HumanLoopConfig != nil {
  9925  		if err := s.HumanLoopConfig.Validate(); err != nil {
  9926  			invalidParams.AddNested("HumanLoopConfig", err.(request.ErrInvalidParams))
  9927  		}
  9928  	}
  9929  	if s.Image != nil {
  9930  		if err := s.Image.Validate(); err != nil {
  9931  			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  9932  		}
  9933  	}
  9934  
  9935  	if invalidParams.Len() > 0 {
  9936  		return invalidParams
  9937  	}
  9938  	return nil
  9939  }
  9940  
  9941  // SetHumanLoopConfig sets the HumanLoopConfig field's value.
  9942  func (s *DetectModerationLabelsInput) SetHumanLoopConfig(v *HumanLoopConfig) *DetectModerationLabelsInput {
  9943  	s.HumanLoopConfig = v
  9944  	return s
  9945  }
  9946  
  9947  // SetImage sets the Image field's value.
  9948  func (s *DetectModerationLabelsInput) SetImage(v *Image) *DetectModerationLabelsInput {
  9949  	s.Image = v
  9950  	return s
  9951  }
  9952  
  9953  // SetMinConfidence sets the MinConfidence field's value.
  9954  func (s *DetectModerationLabelsInput) SetMinConfidence(v float64) *DetectModerationLabelsInput {
  9955  	s.MinConfidence = &v
  9956  	return s
  9957  }
  9958  
  9959  type DetectModerationLabelsOutput struct {
  9960  	_ struct{} `type:"structure"`
  9961  
  9962  	// Shows the results of the human in the loop evaluation.
  9963  	HumanLoopActivationOutput *HumanLoopActivationOutput `type:"structure"`
  9964  
  9965  	// Array of detected Moderation labels and the time, in milliseconds from the
  9966  	// start of the video, they were detected.
  9967  	ModerationLabels []*ModerationLabel `type:"list"`
  9968  
  9969  	// Version number of the moderation detection model that was used to detect
  9970  	// unsafe content.
  9971  	ModerationModelVersion *string `type:"string"`
  9972  }
  9973  
  9974  // String returns the string representation.
  9975  //
  9976  // API parameter values that are decorated as "sensitive" in the API will not
  9977  // be included in the string output. The member name will be present, but the
  9978  // value will be replaced with "sensitive".
  9979  func (s DetectModerationLabelsOutput) String() string {
  9980  	return awsutil.Prettify(s)
  9981  }
  9982  
  9983  // GoString returns the string representation.
  9984  //
  9985  // API parameter values that are decorated as "sensitive" in the API will not
  9986  // be included in the string output. The member name will be present, but the
  9987  // value will be replaced with "sensitive".
  9988  func (s DetectModerationLabelsOutput) GoString() string {
  9989  	return s.String()
  9990  }
  9991  
  9992  // SetHumanLoopActivationOutput sets the HumanLoopActivationOutput field's value.
  9993  func (s *DetectModerationLabelsOutput) SetHumanLoopActivationOutput(v *HumanLoopActivationOutput) *DetectModerationLabelsOutput {
  9994  	s.HumanLoopActivationOutput = v
  9995  	return s
  9996  }
  9997  
  9998  // SetModerationLabels sets the ModerationLabels field's value.
  9999  func (s *DetectModerationLabelsOutput) SetModerationLabels(v []*ModerationLabel) *DetectModerationLabelsOutput {
 10000  	s.ModerationLabels = v
 10001  	return s
 10002  }
 10003  
 10004  // SetModerationModelVersion sets the ModerationModelVersion field's value.
 10005  func (s *DetectModerationLabelsOutput) SetModerationModelVersion(v string) *DetectModerationLabelsOutput {
 10006  	s.ModerationModelVersion = &v
 10007  	return s
 10008  }
 10009  
 10010  type DetectProtectiveEquipmentInput struct {
 10011  	_ struct{} `type:"structure"`
 10012  
 10013  	// The image in which you want to detect PPE on detected persons. The image
 10014  	// can be passed as image bytes or you can reference an image stored in an Amazon
 10015  	// S3 bucket.
 10016  	//
 10017  	// Image is a required field
 10018  	Image *Image `type:"structure" required:"true"`
 10019  
 10020  	// An array of PPE types that you want to summarize.
 10021  	SummarizationAttributes *ProtectiveEquipmentSummarizationAttributes `type:"structure"`
 10022  }
 10023  
 10024  // String returns the string representation.
 10025  //
 10026  // API parameter values that are decorated as "sensitive" in the API will not
 10027  // be included in the string output. The member name will be present, but the
 10028  // value will be replaced with "sensitive".
 10029  func (s DetectProtectiveEquipmentInput) String() string {
 10030  	return awsutil.Prettify(s)
 10031  }
 10032  
 10033  // GoString returns the string representation.
 10034  //
 10035  // API parameter values that are decorated as "sensitive" in the API will not
 10036  // be included in the string output. The member name will be present, but the
 10037  // value will be replaced with "sensitive".
 10038  func (s DetectProtectiveEquipmentInput) GoString() string {
 10039  	return s.String()
 10040  }
 10041  
 10042  // Validate inspects the fields of the type to determine if they are valid.
 10043  func (s *DetectProtectiveEquipmentInput) Validate() error {
 10044  	invalidParams := request.ErrInvalidParams{Context: "DetectProtectiveEquipmentInput"}
 10045  	if s.Image == nil {
 10046  		invalidParams.Add(request.NewErrParamRequired("Image"))
 10047  	}
 10048  	if s.Image != nil {
 10049  		if err := s.Image.Validate(); err != nil {
 10050  			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
 10051  		}
 10052  	}
 10053  	if s.SummarizationAttributes != nil {
 10054  		if err := s.SummarizationAttributes.Validate(); err != nil {
 10055  			invalidParams.AddNested("SummarizationAttributes", err.(request.ErrInvalidParams))
 10056  		}
 10057  	}
 10058  
 10059  	if invalidParams.Len() > 0 {
 10060  		return invalidParams
 10061  	}
 10062  	return nil
 10063  }
 10064  
 10065  // SetImage sets the Image field's value.
 10066  func (s *DetectProtectiveEquipmentInput) SetImage(v *Image) *DetectProtectiveEquipmentInput {
 10067  	s.Image = v
 10068  	return s
 10069  }
 10070  
 10071  // SetSummarizationAttributes sets the SummarizationAttributes field's value.
 10072  func (s *DetectProtectiveEquipmentInput) SetSummarizationAttributes(v *ProtectiveEquipmentSummarizationAttributes) *DetectProtectiveEquipmentInput {
 10073  	s.SummarizationAttributes = v
 10074  	return s
 10075  }
 10076  
 10077  type DetectProtectiveEquipmentOutput struct {
 10078  	_ struct{} `type:"structure"`
 10079  
 10080  	// An array of persons detected in the image (including persons not wearing
 10081  	// PPE).
 10082  	Persons []*ProtectiveEquipmentPerson `type:"list"`
 10083  
 10084  	// The version number of the PPE detection model used to detect PPE in the image.
 10085  	ProtectiveEquipmentModelVersion *string `type:"string"`
 10086  
 10087  	// Summary information for the types of PPE specified in the SummarizationAttributes
 10088  	// input parameter.
 10089  	Summary *ProtectiveEquipmentSummary `type:"structure"`
 10090  }
 10091  
 10092  // String returns the string representation.
 10093  //
 10094  // API parameter values that are decorated as "sensitive" in the API will not
 10095  // be included in the string output. The member name will be present, but the
 10096  // value will be replaced with "sensitive".
 10097  func (s DetectProtectiveEquipmentOutput) String() string {
 10098  	return awsutil.Prettify(s)
 10099  }
 10100  
 10101  // GoString returns the string representation.
 10102  //
 10103  // API parameter values that are decorated as "sensitive" in the API will not
 10104  // be included in the string output. The member name will be present, but the
 10105  // value will be replaced with "sensitive".
 10106  func (s DetectProtectiveEquipmentOutput) GoString() string {
 10107  	return s.String()
 10108  }
 10109  
 10110  // SetPersons sets the Persons field's value.
 10111  func (s *DetectProtectiveEquipmentOutput) SetPersons(v []*ProtectiveEquipmentPerson) *DetectProtectiveEquipmentOutput {
 10112  	s.Persons = v
 10113  	return s
 10114  }
 10115  
 10116  // SetProtectiveEquipmentModelVersion sets the ProtectiveEquipmentModelVersion field's value.
 10117  func (s *DetectProtectiveEquipmentOutput) SetProtectiveEquipmentModelVersion(v string) *DetectProtectiveEquipmentOutput {
 10118  	s.ProtectiveEquipmentModelVersion = &v
 10119  	return s
 10120  }
 10121  
 10122  // SetSummary sets the Summary field's value.
 10123  func (s *DetectProtectiveEquipmentOutput) SetSummary(v *ProtectiveEquipmentSummary) *DetectProtectiveEquipmentOutput {
 10124  	s.Summary = v
 10125  	return s
 10126  }
 10127  
 10128  // A set of optional parameters that you can use to set the criteria that the
 10129  // text must meet to be included in your response. WordFilter looks at a word’s
 10130  // height, width, and minimum confidence. RegionOfInterest lets you set a specific
 10131  // region of the image to look for text in.
 10132  type DetectTextFilters struct {
 10133  	_ struct{} `type:"structure"`
 10134  
 10135  	// A Filter focusing on a certain area of the image. Uses a BoundingBox object
 10136  	// to set the region of the image.
 10137  	RegionsOfInterest []*RegionOfInterest `type:"list"`
 10138  
 10139  	// A set of parameters that allow you to filter out certain results from your
 10140  	// returned results.
 10141  	WordFilter *DetectionFilter `type:"structure"`
 10142  }
 10143  
 10144  // String returns the string representation.
 10145  //
 10146  // API parameter values that are decorated as "sensitive" in the API will not
 10147  // be included in the string output. The member name will be present, but the
 10148  // value will be replaced with "sensitive".
 10149  func (s DetectTextFilters) String() string {
 10150  	return awsutil.Prettify(s)
 10151  }
 10152  
 10153  // GoString returns the string representation.
 10154  //
 10155  // API parameter values that are decorated as "sensitive" in the API will not
 10156  // be included in the string output. The member name will be present, but the
 10157  // value will be replaced with "sensitive".
 10158  func (s DetectTextFilters) GoString() string {
 10159  	return s.String()
 10160  }
 10161  
 10162  // SetRegionsOfInterest sets the RegionsOfInterest field's value.
 10163  func (s *DetectTextFilters) SetRegionsOfInterest(v []*RegionOfInterest) *DetectTextFilters {
 10164  	s.RegionsOfInterest = v
 10165  	return s
 10166  }
 10167  
 10168  // SetWordFilter sets the WordFilter field's value.
 10169  func (s *DetectTextFilters) SetWordFilter(v *DetectionFilter) *DetectTextFilters {
 10170  	s.WordFilter = v
 10171  	return s
 10172  }
 10173  
 10174  type DetectTextInput struct {
 10175  	_ struct{} `type:"structure"`
 10176  
 10177  	// Optional parameters that let you set the criteria that the text must meet
 10178  	// to be included in your response.
 10179  	Filters *DetectTextFilters `type:"structure"`
 10180  
 10181  	// The input image as base64-encoded bytes or an Amazon S3 object. If you use
 10182  	// the AWS CLI to call Amazon Rekognition operations, you can't pass image bytes.
 10183  	//
 10184  	// If you are using an AWS SDK to call Amazon Rekognition, you might not need
 10185  	// to base64-encode image bytes passed using the Bytes field. For more information,
 10186  	// see Images in the Amazon Rekognition developer guide.
 10187  	//
 10188  	// Image is a required field
 10189  	Image *Image `type:"structure" required:"true"`
 10190  }
 10191  
 10192  // String returns the string representation.
 10193  //
 10194  // API parameter values that are decorated as "sensitive" in the API will not
 10195  // be included in the string output. The member name will be present, but the
 10196  // value will be replaced with "sensitive".
 10197  func (s DetectTextInput) String() string {
 10198  	return awsutil.Prettify(s)
 10199  }
 10200  
 10201  // GoString returns the string representation.
 10202  //
 10203  // API parameter values that are decorated as "sensitive" in the API will not
 10204  // be included in the string output. The member name will be present, but the
 10205  // value will be replaced with "sensitive".
 10206  func (s DetectTextInput) GoString() string {
 10207  	return s.String()
 10208  }
 10209  
 10210  // Validate inspects the fields of the type to determine if they are valid.
 10211  func (s *DetectTextInput) Validate() error {
 10212  	invalidParams := request.ErrInvalidParams{Context: "DetectTextInput"}
 10213  	if s.Image == nil {
 10214  		invalidParams.Add(request.NewErrParamRequired("Image"))
 10215  	}
 10216  	if s.Image != nil {
 10217  		if err := s.Image.Validate(); err != nil {
 10218  			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
 10219  		}
 10220  	}
 10221  
 10222  	if invalidParams.Len() > 0 {
 10223  		return invalidParams
 10224  	}
 10225  	return nil
 10226  }
 10227  
 10228  // SetFilters sets the Filters field's value.
 10229  func (s *DetectTextInput) SetFilters(v *DetectTextFilters) *DetectTextInput {
 10230  	s.Filters = v
 10231  	return s
 10232  }
 10233  
 10234  // SetImage sets the Image field's value.
 10235  func (s *DetectTextInput) SetImage(v *Image) *DetectTextInput {
 10236  	s.Image = v
 10237  	return s
 10238  }
 10239  
 10240  type DetectTextOutput struct {
 10241  	_ struct{} `type:"structure"`
 10242  
 10243  	// An array of text that was detected in the input image.
 10244  	TextDetections []*TextDetection `type:"list"`
 10245  
 10246  	// The model version used to detect text.
 10247  	TextModelVersion *string `type:"string"`
 10248  }
 10249  
 10250  // String returns the string representation.
 10251  //
 10252  // API parameter values that are decorated as "sensitive" in the API will not
 10253  // be included in the string output. The member name will be present, but the
 10254  // value will be replaced with "sensitive".
 10255  func (s DetectTextOutput) String() string {
 10256  	return awsutil.Prettify(s)
 10257  }
 10258  
 10259  // GoString returns the string representation.
 10260  //
 10261  // API parameter values that are decorated as "sensitive" in the API will not
 10262  // be included in the string output. The member name will be present, but the
 10263  // value will be replaced with "sensitive".
 10264  func (s DetectTextOutput) GoString() string {
 10265  	return s.String()
 10266  }
 10267  
 10268  // SetTextDetections sets the TextDetections field's value.
 10269  func (s *DetectTextOutput) SetTextDetections(v []*TextDetection) *DetectTextOutput {
 10270  	s.TextDetections = v
 10271  	return s
 10272  }
 10273  
 10274  // SetTextModelVersion sets the TextModelVersion field's value.
 10275  func (s *DetectTextOutput) SetTextModelVersion(v string) *DetectTextOutput {
 10276  	s.TextModelVersion = &v
 10277  	return s
 10278  }
 10279  
 10280  // A set of parameters that allow you to filter out certain results from your
 10281  // returned results.
 10282  type DetectionFilter struct {
 10283  	_ struct{} `type:"structure"`
 10284  
 10285  	// Sets the minimum height of the word bounding box. Words with bounding box
 10286  	// heights lesser than this value will be excluded from the result. Value is
 10287  	// relative to the video frame height.
 10288  	MinBoundingBoxHeight *float64 `type:"float"`
 10289  
 10290  	// Sets the minimum width of the word bounding box. Words with bounding boxes
 10291  	// widths lesser than this value will be excluded from the result. Value is
 10292  	// relative to the video frame width.
 10293  	MinBoundingBoxWidth *float64 `type:"float"`
 10294  
 10295  	// Sets the confidence of word detection. Words with detection confidence below
 10296  	// this will be excluded from the result. Values should be between 50 and 100
 10297  	// as Text in Video will not return any result below 50.
 10298  	MinConfidence *float64 `type:"float"`
 10299  }
 10300  
 10301  // String returns the string representation.
 10302  //
 10303  // API parameter values that are decorated as "sensitive" in the API will not
 10304  // be included in the string output. The member name will be present, but the
 10305  // value will be replaced with "sensitive".
 10306  func (s DetectionFilter) String() string {
 10307  	return awsutil.Prettify(s)
 10308  }
 10309  
 10310  // GoString returns the string representation.
 10311  //
 10312  // API parameter values that are decorated as "sensitive" in the API will not
 10313  // be included in the string output. The member name will be present, but the
 10314  // value will be replaced with "sensitive".
 10315  func (s DetectionFilter) GoString() string {
 10316  	return s.String()
 10317  }
 10318  
 10319  // SetMinBoundingBoxHeight sets the MinBoundingBoxHeight field's value.
 10320  func (s *DetectionFilter) SetMinBoundingBoxHeight(v float64) *DetectionFilter {
 10321  	s.MinBoundingBoxHeight = &v
 10322  	return s
 10323  }
 10324  
 10325  // SetMinBoundingBoxWidth sets the MinBoundingBoxWidth field's value.
 10326  func (s *DetectionFilter) SetMinBoundingBoxWidth(v float64) *DetectionFilter {
 10327  	s.MinBoundingBoxWidth = &v
 10328  	return s
 10329  }
 10330  
 10331  // SetMinConfidence sets the MinConfidence field's value.
 10332  func (s *DetectionFilter) SetMinConfidence(v float64) *DetectionFilter {
 10333  	s.MinConfidence = &v
 10334  	return s
 10335  }
 10336  
 10337  // The emotions that appear to be expressed on the face, and the confidence
 10338  // level in the determination. The API is only making a determination of the
 10339  // physical appearance of a person's face. It is not a determination of the
 10340  // person’s internal emotional state and should not be used in such a way.
 10341  // For example, a person pretending to have a sad face might not be sad emotionally.
 10342  type Emotion struct {
 10343  	_ struct{} `type:"structure"`
 10344  
 10345  	// Level of confidence in the determination.
 10346  	Confidence *float64 `type:"float"`
 10347  
 10348  	// Type of emotion detected.
 10349  	Type *string `type:"string" enum:"EmotionName"`
 10350  }
 10351  
 10352  // String returns the string representation.
 10353  //
 10354  // API parameter values that are decorated as "sensitive" in the API will not
 10355  // be included in the string output. The member name will be present, but the
 10356  // value will be replaced with "sensitive".
 10357  func (s Emotion) String() string {
 10358  	return awsutil.Prettify(s)
 10359  }
 10360  
 10361  // GoString returns the string representation.
 10362  //
 10363  // API parameter values that are decorated as "sensitive" in the API will not
 10364  // be included in the string output. The member name will be present, but the
 10365  // value will be replaced with "sensitive".
 10366  func (s Emotion) GoString() string {
 10367  	return s.String()
 10368  }
 10369  
 10370  // SetConfidence sets the Confidence field's value.
 10371  func (s *Emotion) SetConfidence(v float64) *Emotion {
 10372  	s.Confidence = &v
 10373  	return s
 10374  }
 10375  
 10376  // SetType sets the Type field's value.
 10377  func (s *Emotion) SetType(v string) *Emotion {
 10378  	s.Type = &v
 10379  	return s
 10380  }
 10381  
 10382  // Information about an item of Personal Protective Equipment (PPE) detected
 10383  // by DetectProtectiveEquipment. For more information, see DetectProtectiveEquipment.
 10384  type EquipmentDetection struct {
 10385  	_ struct{} `type:"structure"`
 10386  
 10387  	// A bounding box surrounding the item of detected PPE.
 10388  	BoundingBox *BoundingBox `type:"structure"`
 10389  
 10390  	// The confidence that Amazon Rekognition has that the bounding box (BoundingBox)
 10391  	// contains an item of PPE.
 10392  	Confidence *float64 `type:"float"`
 10393  
 10394  	// Information about the body part covered by the detected PPE.
 10395  	CoversBodyPart *CoversBodyPart `type:"structure"`
 10396  
 10397  	// The type of detected PPE.
 10398  	Type *string `type:"string" enum:"ProtectiveEquipmentType"`
 10399  }
 10400  
 10401  // String returns the string representation.
 10402  //
 10403  // API parameter values that are decorated as "sensitive" in the API will not
 10404  // be included in the string output. The member name will be present, but the
 10405  // value will be replaced with "sensitive".
 10406  func (s EquipmentDetection) String() string {
 10407  	return awsutil.Prettify(s)
 10408  }
 10409  
 10410  // GoString returns the string representation.
 10411  //
 10412  // API parameter values that are decorated as "sensitive" in the API will not
 10413  // be included in the string output. The member name will be present, but the
 10414  // value will be replaced with "sensitive".
 10415  func (s EquipmentDetection) GoString() string {
 10416  	return s.String()
 10417  }
 10418  
 10419  // SetBoundingBox sets the BoundingBox field's value.
 10420  func (s *EquipmentDetection) SetBoundingBox(v *BoundingBox) *EquipmentDetection {
 10421  	s.BoundingBox = v
 10422  	return s
 10423  }
 10424  
 10425  // SetConfidence sets the Confidence field's value.
 10426  func (s *EquipmentDetection) SetConfidence(v float64) *EquipmentDetection {
 10427  	s.Confidence = &v
 10428  	return s
 10429  }
 10430  
 10431  // SetCoversBodyPart sets the CoversBodyPart field's value.
 10432  func (s *EquipmentDetection) SetCoversBodyPart(v *CoversBodyPart) *EquipmentDetection {
 10433  	s.CoversBodyPart = v
 10434  	return s
 10435  }
 10436  
 10437  // SetType sets the Type field's value.
 10438  func (s *EquipmentDetection) SetType(v string) *EquipmentDetection {
 10439  	s.Type = &v
 10440  	return s
 10441  }
 10442  
 10443  // The evaluation results for the training of a model.
 10444  type EvaluationResult struct {
 10445  	_ struct{} `type:"structure"`
 10446  
 10447  	// The F1 score for the evaluation of all labels. The F1 score metric evaluates
 10448  	// the overall precision and recall performance of the model as a single value.
 10449  	// A higher value indicates better precision and recall performance. A lower
 10450  	// score indicates that precision, recall, or both are performing poorly.
 10451  	F1Score *float64 `type:"float"`
 10452  
 10453  	// The S3 bucket that contains the training summary.
 10454  	Summary *Summary `type:"structure"`
 10455  }
 10456  
 10457  // String returns the string representation.
 10458  //
 10459  // API parameter values that are decorated as "sensitive" in the API will not
 10460  // be included in the string output. The member name will be present, but the
 10461  // value will be replaced with "sensitive".
 10462  func (s EvaluationResult) String() string {
 10463  	return awsutil.Prettify(s)
 10464  }
 10465  
 10466  // GoString returns the string representation.
 10467  //
 10468  // API parameter values that are decorated as "sensitive" in the API will not
 10469  // be included in the string output. The member name will be present, but the
 10470  // value will be replaced with "sensitive".
 10471  func (s EvaluationResult) GoString() string {
 10472  	return s.String()
 10473  }
 10474  
 10475  // SetF1Score sets the F1Score field's value.
 10476  func (s *EvaluationResult) SetF1Score(v float64) *EvaluationResult {
 10477  	s.F1Score = &v
 10478  	return s
 10479  }
 10480  
 10481  // SetSummary sets the Summary field's value.
 10482  func (s *EvaluationResult) SetSummary(v *Summary) *EvaluationResult {
 10483  	s.Summary = v
 10484  	return s
 10485  }
 10486  
 10487  // Indicates whether or not the eyes on the face are open, and the confidence
 10488  // level in the determination.
 10489  type EyeOpen struct {
 10490  	_ struct{} `type:"structure"`
 10491  
 10492  	// Level of confidence in the determination.
 10493  	Confidence *float64 `type:"float"`
 10494  
 10495  	// Boolean value that indicates whether the eyes on the face are open.
 10496  	Value *bool `type:"boolean"`
 10497  }
 10498  
 10499  // String returns the string representation.
 10500  //
 10501  // API parameter values that are decorated as "sensitive" in the API will not
 10502  // be included in the string output. The member name will be present, but the
 10503  // value will be replaced with "sensitive".
 10504  func (s EyeOpen) String() string {
 10505  	return awsutil.Prettify(s)
 10506  }
 10507  
 10508  // GoString returns the string representation.
 10509  //
 10510  // API parameter values that are decorated as "sensitive" in the API will not
 10511  // be included in the string output. The member name will be present, but the
 10512  // value will be replaced with "sensitive".
 10513  func (s EyeOpen) GoString() string {
 10514  	return s.String()
 10515  }
 10516  
 10517  // SetConfidence sets the Confidence field's value.
 10518  func (s *EyeOpen) SetConfidence(v float64) *EyeOpen {
 10519  	s.Confidence = &v
 10520  	return s
 10521  }
 10522  
 10523  // SetValue sets the Value field's value.
 10524  func (s *EyeOpen) SetValue(v bool) *EyeOpen {
 10525  	s.Value = &v
 10526  	return s
 10527  }
 10528  
 10529  // Indicates whether or not the face is wearing eye glasses, and the confidence
 10530  // level in the determination.
 10531  type Eyeglasses struct {
 10532  	_ struct{} `type:"structure"`
 10533  
 10534  	// Level of confidence in the determination.
 10535  	Confidence *float64 `type:"float"`
 10536  
 10537  	// Boolean value that indicates whether the face is wearing eye glasses or not.
 10538  	Value *bool `type:"boolean"`
 10539  }
 10540  
 10541  // String returns the string representation.
 10542  //
 10543  // API parameter values that are decorated as "sensitive" in the API will not
 10544  // be included in the string output. The member name will be present, but the
 10545  // value will be replaced with "sensitive".
 10546  func (s Eyeglasses) String() string {
 10547  	return awsutil.Prettify(s)
 10548  }
 10549  
 10550  // GoString returns the string representation.
 10551  //
 10552  // API parameter values that are decorated as "sensitive" in the API will not
 10553  // be included in the string output. The member name will be present, but the
 10554  // value will be replaced with "sensitive".
 10555  func (s Eyeglasses) GoString() string {
 10556  	return s.String()
 10557  }
 10558  
 10559  // SetConfidence sets the Confidence field's value.
 10560  func (s *Eyeglasses) SetConfidence(v float64) *Eyeglasses {
 10561  	s.Confidence = &v
 10562  	return s
 10563  }
 10564  
 10565  // SetValue sets the Value field's value.
 10566  func (s *Eyeglasses) SetValue(v bool) *Eyeglasses {
 10567  	s.Value = &v
 10568  	return s
 10569  }
 10570  
 10571  // Describes the face properties such as the bounding box, face ID, image ID
 10572  // of the input image, and external image ID that you assigned.
 10573  type Face struct {
 10574  	_ struct{} `type:"structure"`
 10575  
 10576  	// Bounding box of the face.
 10577  	BoundingBox *BoundingBox `type:"structure"`
 10578  
 10579  	// Confidence level that the bounding box contains a face (and not a different
 10580  	// object such as a tree).
 10581  	Confidence *float64 `type:"float"`
 10582  
 10583  	// Identifier that you assign to all the faces in the input image.
 10584  	ExternalImageId *string `min:"1" type:"string"`
 10585  
 10586  	// Unique identifier that Amazon Rekognition assigns to the face.
 10587  	FaceId *string `type:"string"`
 10588  
 10589  	// Unique identifier that Amazon Rekognition assigns to the input image.
 10590  	ImageId *string `type:"string"`
 10591  }
 10592  
 10593  // String returns the string representation.
 10594  //
 10595  // API parameter values that are decorated as "sensitive" in the API will not
 10596  // be included in the string output. The member name will be present, but the
 10597  // value will be replaced with "sensitive".
 10598  func (s Face) String() string {
 10599  	return awsutil.Prettify(s)
 10600  }
 10601  
 10602  // GoString returns the string representation.
 10603  //
 10604  // API parameter values that are decorated as "sensitive" in the API will not
 10605  // be included in the string output. The member name will be present, but the
 10606  // value will be replaced with "sensitive".
 10607  func (s Face) GoString() string {
 10608  	return s.String()
 10609  }
 10610  
 10611  // SetBoundingBox sets the BoundingBox field's value.
 10612  func (s *Face) SetBoundingBox(v *BoundingBox) *Face {
 10613  	s.BoundingBox = v
 10614  	return s
 10615  }
 10616  
 10617  // SetConfidence sets the Confidence field's value.
 10618  func (s *Face) SetConfidence(v float64) *Face {
 10619  	s.Confidence = &v
 10620  	return s
 10621  }
 10622  
 10623  // SetExternalImageId sets the ExternalImageId field's value.
 10624  func (s *Face) SetExternalImageId(v string) *Face {
 10625  	s.ExternalImageId = &v
 10626  	return s
 10627  }
 10628  
 10629  // SetFaceId sets the FaceId field's value.
 10630  func (s *Face) SetFaceId(v string) *Face {
 10631  	s.FaceId = &v
 10632  	return s
 10633  }
 10634  
 10635  // SetImageId sets the ImageId field's value.
 10636  func (s *Face) SetImageId(v string) *Face {
 10637  	s.ImageId = &v
 10638  	return s
 10639  }
 10640  
 10641  // Structure containing attributes of the face that the algorithm detected.
 10642  //
 10643  // A FaceDetail object contains either the default facial attributes or all
 10644  // facial attributes. The default attributes are BoundingBox, Confidence, Landmarks,
 10645  // Pose, and Quality.
 10646  //
 10647  // GetFaceDetection is the only Amazon Rekognition Video stored video operation
 10648  // that can return a FaceDetail object with all attributes. To specify which
 10649  // attributes to return, use the FaceAttributes input parameter for StartFaceDetection.
 10650  // The following Amazon Rekognition Video operations return only the default
 10651  // attributes. The corresponding Start operations don't have a FaceAttributes
 10652  // input parameter.
 10653  //
 10654  //    * GetCelebrityRecognition
 10655  //
 10656  //    * GetPersonTracking
 10657  //
 10658  //    * GetFaceSearch
 10659  //
 10660  // The Amazon Rekognition Image DetectFaces and IndexFaces operations can return
 10661  // all facial attributes. To specify which attributes to return, use the Attributes
 10662  // input parameter for DetectFaces. For IndexFaces, use the DetectAttributes
 10663  // input parameter.
 10664  type FaceDetail struct {
 10665  	_ struct{} `type:"structure"`
 10666  
 10667  	// The estimated age range, in years, for the face. Low represents the lowest
 10668  	// estimated age and High represents the highest estimated age.
 10669  	AgeRange *AgeRange `type:"structure"`
 10670  
 10671  	// Indicates whether or not the face has a beard, and the confidence level in
 10672  	// the determination.
 10673  	Beard *Beard `type:"structure"`
 10674  
 10675  	// Bounding box of the face. Default attribute.
 10676  	BoundingBox *BoundingBox `type:"structure"`
 10677  
 10678  	// Confidence level that the bounding box contains a face (and not a different
 10679  	// object such as a tree). Default attribute.
 10680  	Confidence *float64 `type:"float"`
 10681  
 10682  	// The emotions that appear to be expressed on the face, and the confidence
 10683  	// level in the determination. The API is only making a determination of the
 10684  	// physical appearance of a person's face. It is not a determination of the
 10685  	// person’s internal emotional state and should not be used in such a way.
 10686  	// For example, a person pretending to have a sad face might not be sad emotionally.
 10687  	Emotions []*Emotion `type:"list"`
 10688  
 10689  	// Indicates whether or not the face is wearing eye glasses, and the confidence
 10690  	// level in the determination.
 10691  	Eyeglasses *Eyeglasses `type:"structure"`
 10692  
 10693  	// Indicates whether or not the eyes on the face are open, and the confidence
 10694  	// level in the determination.
 10695  	EyesOpen *EyeOpen `type:"structure"`
 10696  
 10697  	// The predicted gender of a detected face.
 10698  	Gender *Gender `type:"structure"`
 10699  
 10700  	// Indicates the location of landmarks on the face. Default attribute.
 10701  	Landmarks []*Landmark `type:"list"`
 10702  
 10703  	// Indicates whether or not the mouth on the face is open, and the confidence
 10704  	// level in the determination.
 10705  	MouthOpen *MouthOpen `type:"structure"`
 10706  
 10707  	// Indicates whether or not the face has a mustache, and the confidence level
 10708  	// in the determination.
 10709  	Mustache *Mustache `type:"structure"`
 10710  
 10711  	// Indicates the pose of the face as determined by its pitch, roll, and yaw.
 10712  	// Default attribute.
 10713  	Pose *Pose `type:"structure"`
 10714  
 10715  	// Identifies image brightness and sharpness. Default attribute.
 10716  	Quality *ImageQuality `type:"structure"`
 10717  
 10718  	// Indicates whether or not the face is smiling, and the confidence level in
 10719  	// the determination.
 10720  	Smile *Smile `type:"structure"`
 10721  
 10722  	// Indicates whether or not the face is wearing sunglasses, and the confidence
 10723  	// level in the determination.
 10724  	Sunglasses *Sunglasses `type:"structure"`
 10725  }
 10726  
 10727  // String returns the string representation.
 10728  //
 10729  // API parameter values that are decorated as "sensitive" in the API will not
 10730  // be included in the string output. The member name will be present, but the
 10731  // value will be replaced with "sensitive".
 10732  func (s FaceDetail) String() string {
 10733  	return awsutil.Prettify(s)
 10734  }
 10735  
 10736  // GoString returns the string representation.
 10737  //
 10738  // API parameter values that are decorated as "sensitive" in the API will not
 10739  // be included in the string output. The member name will be present, but the
 10740  // value will be replaced with "sensitive".
 10741  func (s FaceDetail) GoString() string {
 10742  	return s.String()
 10743  }
 10744  
 10745  // SetAgeRange sets the AgeRange field's value.
 10746  func (s *FaceDetail) SetAgeRange(v *AgeRange) *FaceDetail {
 10747  	s.AgeRange = v
 10748  	return s
 10749  }
 10750  
 10751  // SetBeard sets the Beard field's value.
 10752  func (s *FaceDetail) SetBeard(v *Beard) *FaceDetail {
 10753  	s.Beard = v
 10754  	return s
 10755  }
 10756  
 10757  // SetBoundingBox sets the BoundingBox field's value.
 10758  func (s *FaceDetail) SetBoundingBox(v *BoundingBox) *FaceDetail {
 10759  	s.BoundingBox = v
 10760  	return s
 10761  }
 10762  
 10763  // SetConfidence sets the Confidence field's value.
 10764  func (s *FaceDetail) SetConfidence(v float64) *FaceDetail {
 10765  	s.Confidence = &v
 10766  	return s
 10767  }
 10768  
 10769  // SetEmotions sets the Emotions field's value.
 10770  func (s *FaceDetail) SetEmotions(v []*Emotion) *FaceDetail {
 10771  	s.Emotions = v
 10772  	return s
 10773  }
 10774  
 10775  // SetEyeglasses sets the Eyeglasses field's value.
 10776  func (s *FaceDetail) SetEyeglasses(v *Eyeglasses) *FaceDetail {
 10777  	s.Eyeglasses = v
 10778  	return s
 10779  }
 10780  
 10781  // SetEyesOpen sets the EyesOpen field's value.
 10782  func (s *FaceDetail) SetEyesOpen(v *EyeOpen) *FaceDetail {
 10783  	s.EyesOpen = v
 10784  	return s
 10785  }
 10786  
 10787  // SetGender sets the Gender field's value.
 10788  func (s *FaceDetail) SetGender(v *Gender) *FaceDetail {
 10789  	s.Gender = v
 10790  	return s
 10791  }
 10792  
 10793  // SetLandmarks sets the Landmarks field's value.
 10794  func (s *FaceDetail) SetLandmarks(v []*Landmark) *FaceDetail {
 10795  	s.Landmarks = v
 10796  	return s
 10797  }
 10798  
 10799  // SetMouthOpen sets the MouthOpen field's value.
 10800  func (s *FaceDetail) SetMouthOpen(v *MouthOpen) *FaceDetail {
 10801  	s.MouthOpen = v
 10802  	return s
 10803  }
 10804  
 10805  // SetMustache sets the Mustache field's value.
 10806  func (s *FaceDetail) SetMustache(v *Mustache) *FaceDetail {
 10807  	s.Mustache = v
 10808  	return s
 10809  }
 10810  
 10811  // SetPose sets the Pose field's value.
 10812  func (s *FaceDetail) SetPose(v *Pose) *FaceDetail {
 10813  	s.Pose = v
 10814  	return s
 10815  }
 10816  
 10817  // SetQuality sets the Quality field's value.
 10818  func (s *FaceDetail) SetQuality(v *ImageQuality) *FaceDetail {
 10819  	s.Quality = v
 10820  	return s
 10821  }
 10822  
 10823  // SetSmile sets the Smile field's value.
 10824  func (s *FaceDetail) SetSmile(v *Smile) *FaceDetail {
 10825  	s.Smile = v
 10826  	return s
 10827  }
 10828  
 10829  // SetSunglasses sets the Sunglasses field's value.
 10830  func (s *FaceDetail) SetSunglasses(v *Sunglasses) *FaceDetail {
 10831  	s.Sunglasses = v
 10832  	return s
 10833  }
 10834  
 10835  // Information about a face detected in a video analysis request and the time
 10836  // the face was detected in the video.
 10837  type FaceDetection struct {
 10838  	_ struct{} `type:"structure"`
 10839  
 10840  	// The face properties for the detected face.
 10841  	Face *FaceDetail `type:"structure"`
 10842  
 10843  	// Time, in milliseconds from the start of the video, that the face was detected.
 10844  	Timestamp *int64 `type:"long"`
 10845  }
 10846  
 10847  // String returns the string representation.
 10848  //
 10849  // API parameter values that are decorated as "sensitive" in the API will not
 10850  // be included in the string output. The member name will be present, but the
 10851  // value will be replaced with "sensitive".
 10852  func (s FaceDetection) String() string {
 10853  	return awsutil.Prettify(s)
 10854  }
 10855  
 10856  // GoString returns the string representation.
 10857  //
 10858  // API parameter values that are decorated as "sensitive" in the API will not
 10859  // be included in the string output. The member name will be present, but the
 10860  // value will be replaced with "sensitive".
 10861  func (s FaceDetection) GoString() string {
 10862  	return s.String()
 10863  }
 10864  
 10865  // SetFace sets the Face field's value.
 10866  func (s *FaceDetection) SetFace(v *FaceDetail) *FaceDetection {
 10867  	s.Face = v
 10868  	return s
 10869  }
 10870  
 10871  // SetTimestamp sets the Timestamp field's value.
 10872  func (s *FaceDetection) SetTimestamp(v int64) *FaceDetection {
 10873  	s.Timestamp = &v
 10874  	return s
 10875  }
 10876  
 10877  // Provides face metadata. In addition, it also provides the confidence in the
 10878  // match of this face with the input face.
 10879  type FaceMatch struct {
 10880  	_ struct{} `type:"structure"`
 10881  
 10882  	// Describes the face properties such as the bounding box, face ID, image ID
 10883  	// of the source image, and external image ID that you assigned.
 10884  	Face *Face `type:"structure"`
 10885  
 10886  	// Confidence in the match of this face with the input face.
 10887  	Similarity *float64 `type:"float"`
 10888  }
 10889  
 10890  // String returns the string representation.
 10891  //
 10892  // API parameter values that are decorated as "sensitive" in the API will not
 10893  // be included in the string output. The member name will be present, but the
 10894  // value will be replaced with "sensitive".
 10895  func (s FaceMatch) String() string {
 10896  	return awsutil.Prettify(s)
 10897  }
 10898  
 10899  // GoString returns the string representation.
 10900  //
 10901  // API parameter values that are decorated as "sensitive" in the API will not
 10902  // be included in the string output. The member name will be present, but the
 10903  // value will be replaced with "sensitive".
 10904  func (s FaceMatch) GoString() string {
 10905  	return s.String()
 10906  }
 10907  
 10908  // SetFace sets the Face field's value.
 10909  func (s *FaceMatch) SetFace(v *Face) *FaceMatch {
 10910  	s.Face = v
 10911  	return s
 10912  }
 10913  
 10914  // SetSimilarity sets the Similarity field's value.
 10915  func (s *FaceMatch) SetSimilarity(v float64) *FaceMatch {
 10916  	s.Similarity = &v
 10917  	return s
 10918  }
 10919  
 10920  // Object containing both the face metadata (stored in the backend database),
 10921  // and facial attributes that are detected but aren't stored in the database.
 10922  type FaceRecord struct {
 10923  	_ struct{} `type:"structure"`
 10924  
 10925  	// Describes the face properties such as the bounding box, face ID, image ID
 10926  	// of the input image, and external image ID that you assigned.
 10927  	Face *Face `type:"structure"`
 10928  
 10929  	// Structure containing attributes of the face that the algorithm detected.
 10930  	FaceDetail *FaceDetail `type:"structure"`
 10931  }
 10932  
 10933  // String returns the string representation.
 10934  //
 10935  // API parameter values that are decorated as "sensitive" in the API will not
 10936  // be included in the string output. The member name will be present, but the
 10937  // value will be replaced with "sensitive".
 10938  func (s FaceRecord) String() string {
 10939  	return awsutil.Prettify(s)
 10940  }
 10941  
 10942  // GoString returns the string representation.
 10943  //
 10944  // API parameter values that are decorated as "sensitive" in the API will not
 10945  // be included in the string output. The member name will be present, but the
 10946  // value will be replaced with "sensitive".
 10947  func (s FaceRecord) GoString() string {
 10948  	return s.String()
 10949  }
 10950  
 10951  // SetFace sets the Face field's value.
 10952  func (s *FaceRecord) SetFace(v *Face) *FaceRecord {
 10953  	s.Face = v
 10954  	return s
 10955  }
 10956  
 10957  // SetFaceDetail sets the FaceDetail field's value.
 10958  func (s *FaceRecord) SetFaceDetail(v *FaceDetail) *FaceRecord {
 10959  	s.FaceDetail = v
 10960  	return s
 10961  }
 10962  
 10963  // Input face recognition parameters for an Amazon Rekognition stream processor.
 10964  // FaceRecognitionSettings is a request parameter for CreateStreamProcessor.
 10965  type FaceSearchSettings struct {
 10966  	_ struct{} `type:"structure"`
 10967  
 10968  	// The ID of a collection that contains faces that you want to search for.
 10969  	CollectionId *string `min:"1" type:"string"`
 10970  
 10971  	// Minimum face match confidence score that must be met to return a result for
 10972  	// a recognized face. Default is 80. 0 is the lowest confidence. 100 is the
 10973  	// highest confidence.
 10974  	FaceMatchThreshold *float64 `type:"float"`
 10975  }
 10976  
 10977  // String returns the string representation.
 10978  //
 10979  // API parameter values that are decorated as "sensitive" in the API will not
 10980  // be included in the string output. The member name will be present, but the
 10981  // value will be replaced with "sensitive".
 10982  func (s FaceSearchSettings) String() string {
 10983  	return awsutil.Prettify(s)
 10984  }
 10985  
 10986  // GoString returns the string representation.
 10987  //
 10988  // API parameter values that are decorated as "sensitive" in the API will not
 10989  // be included in the string output. The member name will be present, but the
 10990  // value will be replaced with "sensitive".
 10991  func (s FaceSearchSettings) GoString() string {
 10992  	return s.String()
 10993  }
 10994  
 10995  // Validate inspects the fields of the type to determine if they are valid.
 10996  func (s *FaceSearchSettings) Validate() error {
 10997  	invalidParams := request.ErrInvalidParams{Context: "FaceSearchSettings"}
 10998  	if s.CollectionId != nil && len(*s.CollectionId) < 1 {
 10999  		invalidParams.Add(request.NewErrParamMinLen("CollectionId", 1))
 11000  	}
 11001  
 11002  	if invalidParams.Len() > 0 {
 11003  		return invalidParams
 11004  	}
 11005  	return nil
 11006  }
 11007  
 11008  // SetCollectionId sets the CollectionId field's value.
 11009  func (s *FaceSearchSettings) SetCollectionId(v string) *FaceSearchSettings {
 11010  	s.CollectionId = &v
 11011  	return s
 11012  }
 11013  
 11014  // SetFaceMatchThreshold sets the FaceMatchThreshold field's value.
 11015  func (s *FaceSearchSettings) SetFaceMatchThreshold(v float64) *FaceSearchSettings {
 11016  	s.FaceMatchThreshold = &v
 11017  	return s
 11018  }
 11019  
 11020  // The predicted gender of a detected face.
 11021  //
 11022  // Amazon Rekognition makes gender binary (male/female) predictions based on
 11023  // the physical appearance of a face in a particular image. This kind of prediction
 11024  // is not designed to categorize a person’s gender identity, and you shouldn't
 11025  // use Amazon Rekognition to make such a determination. For example, a male
 11026  // actor wearing a long-haired wig and earrings for a role might be predicted
 11027  // as female.
 11028  //
 11029  // Using Amazon Rekognition to make gender binary predictions is best suited
 11030  // for use cases where aggregate gender distribution statistics need to be analyzed
 11031  // without identifying specific users. For example, the percentage of female
 11032  // users compared to male users on a social media platform.
 11033  //
 11034  // We don't recommend using gender binary predictions to make decisions that
 11035  // impact an individual's rights, privacy, or access to services.
 11036  type Gender struct {
 11037  	_ struct{} `type:"structure"`
 11038  
 11039  	// Level of confidence in the prediction.
 11040  	Confidence *float64 `type:"float"`
 11041  
 11042  	// The predicted gender of the face.
 11043  	Value *string `type:"string" enum:"GenderType"`
 11044  }
 11045  
 11046  // String returns the string representation.
 11047  //
 11048  // API parameter values that are decorated as "sensitive" in the API will not
 11049  // be included in the string output. The member name will be present, but the
 11050  // value will be replaced with "sensitive".
 11051  func (s Gender) String() string {
 11052  	return awsutil.Prettify(s)
 11053  }
 11054  
 11055  // GoString returns the string representation.
 11056  //
 11057  // API parameter values that are decorated as "sensitive" in the API will not
 11058  // be included in the string output. The member name will be present, but the
 11059  // value will be replaced with "sensitive".
 11060  func (s Gender) GoString() string {
 11061  	return s.String()
 11062  }
 11063  
 11064  // SetConfidence sets the Confidence field's value.
 11065  func (s *Gender) SetConfidence(v float64) *Gender {
 11066  	s.Confidence = &v
 11067  	return s
 11068  }
 11069  
 11070  // SetValue sets the Value field's value.
 11071  func (s *Gender) SetValue(v string) *Gender {
 11072  	s.Value = &v
 11073  	return s
 11074  }
 11075  
 11076  // Information about where an object (DetectCustomLabels) or text (DetectText)
 11077  // is located on an image.
 11078  type Geometry struct {
 11079  	_ struct{} `type:"structure"`
 11080  
 11081  	// An axis-aligned coarse representation of the detected item's location on
 11082  	// the image.
 11083  	BoundingBox *BoundingBox `type:"structure"`
 11084  
 11085  	// Within the bounding box, a fine-grained polygon around the detected item.
 11086  	Polygon []*Point `type:"list"`
 11087  }
 11088  
 11089  // String returns the string representation.
 11090  //
 11091  // API parameter values that are decorated as "sensitive" in the API will not
 11092  // be included in the string output. The member name will be present, but the
 11093  // value will be replaced with "sensitive".
 11094  func (s Geometry) String() string {
 11095  	return awsutil.Prettify(s)
 11096  }
 11097  
 11098  // GoString returns the string representation.
 11099  //
 11100  // API parameter values that are decorated as "sensitive" in the API will not
 11101  // be included in the string output. The member name will be present, but the
 11102  // value will be replaced with "sensitive".
 11103  func (s Geometry) GoString() string {
 11104  	return s.String()
 11105  }
 11106  
 11107  // SetBoundingBox sets the BoundingBox field's value.
 11108  func (s *Geometry) SetBoundingBox(v *BoundingBox) *Geometry {
 11109  	s.BoundingBox = v
 11110  	return s
 11111  }
 11112  
 11113  // SetPolygon sets the Polygon field's value.
 11114  func (s *Geometry) SetPolygon(v []*Point) *Geometry {
 11115  	s.Polygon = v
 11116  	return s
 11117  }
 11118  
 11119  type GetCelebrityInfoInput struct {
 11120  	_ struct{} `type:"structure"`
 11121  
 11122  	// The ID for the celebrity. You get the celebrity ID from a call to the RecognizeCelebrities
 11123  	// operation, which recognizes celebrities in an image.
 11124  	//
 11125  	// Id is a required field
 11126  	Id *string `type:"string" required:"true"`
 11127  }
 11128  
 11129  // String returns the string representation.
 11130  //
 11131  // API parameter values that are decorated as "sensitive" in the API will not
 11132  // be included in the string output. The member name will be present, but the
 11133  // value will be replaced with "sensitive".
 11134  func (s GetCelebrityInfoInput) String() string {
 11135  	return awsutil.Prettify(s)
 11136  }
 11137  
 11138  // GoString returns the string representation.
 11139  //
 11140  // API parameter values that are decorated as "sensitive" in the API will not
 11141  // be included in the string output. The member name will be present, but the
 11142  // value will be replaced with "sensitive".
 11143  func (s GetCelebrityInfoInput) GoString() string {
 11144  	return s.String()
 11145  }
 11146  
 11147  // Validate inspects the fields of the type to determine if they are valid.
 11148  func (s *GetCelebrityInfoInput) Validate() error {
 11149  	invalidParams := request.ErrInvalidParams{Context: "GetCelebrityInfoInput"}
 11150  	if s.Id == nil {
 11151  		invalidParams.Add(request.NewErrParamRequired("Id"))
 11152  	}
 11153  
 11154  	if invalidParams.Len() > 0 {
 11155  		return invalidParams
 11156  	}
 11157  	return nil
 11158  }
 11159  
 11160  // SetId sets the Id field's value.
 11161  func (s *GetCelebrityInfoInput) SetId(v string) *GetCelebrityInfoInput {
 11162  	s.Id = &v
 11163  	return s
 11164  }
 11165  
 11166  type GetCelebrityInfoOutput struct {
 11167  	_ struct{} `type:"structure"`
 11168  
 11169  	// Retrieves the known gender for the celebrity.
 11170  	KnownGender *KnownGender `type:"structure"`
 11171  
 11172  	// The name of the celebrity.
 11173  	Name *string `type:"string"`
 11174  
 11175  	// An array of URLs pointing to additional celebrity information.
 11176  	Urls []*string `type:"list"`
 11177  }
 11178  
 11179  // String returns the string representation.
 11180  //
 11181  // API parameter values that are decorated as "sensitive" in the API will not
 11182  // be included in the string output. The member name will be present, but the
 11183  // value will be replaced with "sensitive".
 11184  func (s GetCelebrityInfoOutput) String() string {
 11185  	return awsutil.Prettify(s)
 11186  }
 11187  
 11188  // GoString returns the string representation.
 11189  //
 11190  // API parameter values that are decorated as "sensitive" in the API will not
 11191  // be included in the string output. The member name will be present, but the
 11192  // value will be replaced with "sensitive".
 11193  func (s GetCelebrityInfoOutput) GoString() string {
 11194  	return s.String()
 11195  }
 11196  
 11197  // SetKnownGender sets the KnownGender field's value.
 11198  func (s *GetCelebrityInfoOutput) SetKnownGender(v *KnownGender) *GetCelebrityInfoOutput {
 11199  	s.KnownGender = v
 11200  	return s
 11201  }
 11202  
 11203  // SetName sets the Name field's value.
 11204  func (s *GetCelebrityInfoOutput) SetName(v string) *GetCelebrityInfoOutput {
 11205  	s.Name = &v
 11206  	return s
 11207  }
 11208  
 11209  // SetUrls sets the Urls field's value.
 11210  func (s *GetCelebrityInfoOutput) SetUrls(v []*string) *GetCelebrityInfoOutput {
 11211  	s.Urls = v
 11212  	return s
 11213  }
 11214  
 11215  type GetCelebrityRecognitionInput struct {
 11216  	_ struct{} `type:"structure"`
 11217  
 11218  	// Job identifier for the required celebrity recognition analysis. You can get
 11219  	// the job identifer from a call to StartCelebrityRecognition.
 11220  	//
 11221  	// JobId is a required field
 11222  	JobId *string `min:"1" type:"string" required:"true"`
 11223  
 11224  	// Maximum number of results to return per paginated call. The largest value
 11225  	// you can specify is 1000. If you specify a value greater than 1000, a maximum
 11226  	// of 1000 results is returned. The default value is 1000.
 11227  	MaxResults *int64 `min:"1" type:"integer"`
 11228  
 11229  	// If the previous response was incomplete (because there is more recognized
 11230  	// celebrities to retrieve), Amazon Rekognition Video returns a pagination token
 11231  	// in the response. You can use this pagination token to retrieve the next set
 11232  	// of celebrities.
 11233  	NextToken *string `type:"string"`
 11234  
 11235  	// Sort to use for celebrities returned in Celebrities field. Specify ID to
 11236  	// sort by the celebrity identifier, specify TIMESTAMP to sort by the time the
 11237  	// celebrity was recognized.
 11238  	SortBy *string `type:"string" enum:"CelebrityRecognitionSortBy"`
 11239  }
 11240  
 11241  // String returns the string representation.
 11242  //
 11243  // API parameter values that are decorated as "sensitive" in the API will not
 11244  // be included in the string output. The member name will be present, but the
 11245  // value will be replaced with "sensitive".
 11246  func (s GetCelebrityRecognitionInput) String() string {
 11247  	return awsutil.Prettify(s)
 11248  }
 11249  
 11250  // GoString returns the string representation.
 11251  //
 11252  // API parameter values that are decorated as "sensitive" in the API will not
 11253  // be included in the string output. The member name will be present, but the
 11254  // value will be replaced with "sensitive".
 11255  func (s GetCelebrityRecognitionInput) GoString() string {
 11256  	return s.String()
 11257  }
 11258  
 11259  // Validate inspects the fields of the type to determine if they are valid.
 11260  func (s *GetCelebrityRecognitionInput) Validate() error {
 11261  	invalidParams := request.ErrInvalidParams{Context: "GetCelebrityRecognitionInput"}
 11262  	if s.JobId == nil {
 11263  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 11264  	}
 11265  	if s.JobId != nil && len(*s.JobId) < 1 {
 11266  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 11267  	}
 11268  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11269  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11270  	}
 11271  
 11272  	if invalidParams.Len() > 0 {
 11273  		return invalidParams
 11274  	}
 11275  	return nil
 11276  }
 11277  
 11278  // SetJobId sets the JobId field's value.
 11279  func (s *GetCelebrityRecognitionInput) SetJobId(v string) *GetCelebrityRecognitionInput {
 11280  	s.JobId = &v
 11281  	return s
 11282  }
 11283  
 11284  // SetMaxResults sets the MaxResults field's value.
 11285  func (s *GetCelebrityRecognitionInput) SetMaxResults(v int64) *GetCelebrityRecognitionInput {
 11286  	s.MaxResults = &v
 11287  	return s
 11288  }
 11289  
 11290  // SetNextToken sets the NextToken field's value.
 11291  func (s *GetCelebrityRecognitionInput) SetNextToken(v string) *GetCelebrityRecognitionInput {
 11292  	s.NextToken = &v
 11293  	return s
 11294  }
 11295  
 11296  // SetSortBy sets the SortBy field's value.
 11297  func (s *GetCelebrityRecognitionInput) SetSortBy(v string) *GetCelebrityRecognitionInput {
 11298  	s.SortBy = &v
 11299  	return s
 11300  }
 11301  
 11302  type GetCelebrityRecognitionOutput struct {
 11303  	_ struct{} `type:"structure"`
 11304  
 11305  	// Array of celebrities recognized in the video.
 11306  	Celebrities []*CelebrityRecognition `type:"list"`
 11307  
 11308  	// The current status of the celebrity recognition job.
 11309  	JobStatus *string `type:"string" enum:"VideoJobStatus"`
 11310  
 11311  	// If the response is truncated, Amazon Rekognition Video returns this token
 11312  	// that you can use in the subsequent request to retrieve the next set of celebrities.
 11313  	NextToken *string `type:"string"`
 11314  
 11315  	// If the job fails, StatusMessage provides a descriptive error message.
 11316  	StatusMessage *string `type:"string"`
 11317  
 11318  	// Information about a video that Amazon Rekognition Video analyzed. Videometadata
 11319  	// is returned in every page of paginated responses from a Amazon Rekognition
 11320  	// Video operation.
 11321  	VideoMetadata *VideoMetadata `type:"structure"`
 11322  }
 11323  
 11324  // String returns the string representation.
 11325  //
 11326  // API parameter values that are decorated as "sensitive" in the API will not
 11327  // be included in the string output. The member name will be present, but the
 11328  // value will be replaced with "sensitive".
 11329  func (s GetCelebrityRecognitionOutput) String() string {
 11330  	return awsutil.Prettify(s)
 11331  }
 11332  
 11333  // GoString returns the string representation.
 11334  //
 11335  // API parameter values that are decorated as "sensitive" in the API will not
 11336  // be included in the string output. The member name will be present, but the
 11337  // value will be replaced with "sensitive".
 11338  func (s GetCelebrityRecognitionOutput) GoString() string {
 11339  	return s.String()
 11340  }
 11341  
 11342  // SetCelebrities sets the Celebrities field's value.
 11343  func (s *GetCelebrityRecognitionOutput) SetCelebrities(v []*CelebrityRecognition) *GetCelebrityRecognitionOutput {
 11344  	s.Celebrities = v
 11345  	return s
 11346  }
 11347  
 11348  // SetJobStatus sets the JobStatus field's value.
 11349  func (s *GetCelebrityRecognitionOutput) SetJobStatus(v string) *GetCelebrityRecognitionOutput {
 11350  	s.JobStatus = &v
 11351  	return s
 11352  }
 11353  
 11354  // SetNextToken sets the NextToken field's value.
 11355  func (s *GetCelebrityRecognitionOutput) SetNextToken(v string) *GetCelebrityRecognitionOutput {
 11356  	s.NextToken = &v
 11357  	return s
 11358  }
 11359  
 11360  // SetStatusMessage sets the StatusMessage field's value.
 11361  func (s *GetCelebrityRecognitionOutput) SetStatusMessage(v string) *GetCelebrityRecognitionOutput {
 11362  	s.StatusMessage = &v
 11363  	return s
 11364  }
 11365  
 11366  // SetVideoMetadata sets the VideoMetadata field's value.
 11367  func (s *GetCelebrityRecognitionOutput) SetVideoMetadata(v *VideoMetadata) *GetCelebrityRecognitionOutput {
 11368  	s.VideoMetadata = v
 11369  	return s
 11370  }
 11371  
 11372  type GetContentModerationInput struct {
 11373  	_ struct{} `type:"structure"`
 11374  
 11375  	// The identifier for the inappropriate, unwanted, or offensive content moderation
 11376  	// job. Use JobId to identify the job in a subsequent call to GetContentModeration.
 11377  	//
 11378  	// JobId is a required field
 11379  	JobId *string `min:"1" type:"string" required:"true"`
 11380  
 11381  	// Maximum number of results to return per paginated call. The largest value
 11382  	// you can specify is 1000. If you specify a value greater than 1000, a maximum
 11383  	// of 1000 results is returned. The default value is 1000.
 11384  	MaxResults *int64 `min:"1" type:"integer"`
 11385  
 11386  	// If the previous response was incomplete (because there is more data to retrieve),
 11387  	// Amazon Rekognition returns a pagination token in the response. You can use
 11388  	// this pagination token to retrieve the next set of content moderation labels.
 11389  	NextToken *string `type:"string"`
 11390  
 11391  	// Sort to use for elements in the ModerationLabelDetections array. Use TIMESTAMP
 11392  	// to sort array elements by the time labels are detected. Use NAME to alphabetically
 11393  	// group elements for a label together. Within each label group, the array element
 11394  	// are sorted by detection confidence. The default sort is by TIMESTAMP.
 11395  	SortBy *string `type:"string" enum:"ContentModerationSortBy"`
 11396  }
 11397  
 11398  // String returns the string representation.
 11399  //
 11400  // API parameter values that are decorated as "sensitive" in the API will not
 11401  // be included in the string output. The member name will be present, but the
 11402  // value will be replaced with "sensitive".
 11403  func (s GetContentModerationInput) String() string {
 11404  	return awsutil.Prettify(s)
 11405  }
 11406  
 11407  // GoString returns the string representation.
 11408  //
 11409  // API parameter values that are decorated as "sensitive" in the API will not
 11410  // be included in the string output. The member name will be present, but the
 11411  // value will be replaced with "sensitive".
 11412  func (s GetContentModerationInput) GoString() string {
 11413  	return s.String()
 11414  }
 11415  
 11416  // Validate inspects the fields of the type to determine if they are valid.
 11417  func (s *GetContentModerationInput) Validate() error {
 11418  	invalidParams := request.ErrInvalidParams{Context: "GetContentModerationInput"}
 11419  	if s.JobId == nil {
 11420  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 11421  	}
 11422  	if s.JobId != nil && len(*s.JobId) < 1 {
 11423  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 11424  	}
 11425  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11426  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11427  	}
 11428  
 11429  	if invalidParams.Len() > 0 {
 11430  		return invalidParams
 11431  	}
 11432  	return nil
 11433  }
 11434  
 11435  // SetJobId sets the JobId field's value.
 11436  func (s *GetContentModerationInput) SetJobId(v string) *GetContentModerationInput {
 11437  	s.JobId = &v
 11438  	return s
 11439  }
 11440  
 11441  // SetMaxResults sets the MaxResults field's value.
 11442  func (s *GetContentModerationInput) SetMaxResults(v int64) *GetContentModerationInput {
 11443  	s.MaxResults = &v
 11444  	return s
 11445  }
 11446  
 11447  // SetNextToken sets the NextToken field's value.
 11448  func (s *GetContentModerationInput) SetNextToken(v string) *GetContentModerationInput {
 11449  	s.NextToken = &v
 11450  	return s
 11451  }
 11452  
 11453  // SetSortBy sets the SortBy field's value.
 11454  func (s *GetContentModerationInput) SetSortBy(v string) *GetContentModerationInput {
 11455  	s.SortBy = &v
 11456  	return s
 11457  }
 11458  
 11459  type GetContentModerationOutput struct {
 11460  	_ struct{} `type:"structure"`
 11461  
 11462  	// The current status of the content moderation analysis job.
 11463  	JobStatus *string `type:"string" enum:"VideoJobStatus"`
 11464  
 11465  	// The detected inappropriate, unwanted, or offensive content moderation labels
 11466  	// and the time(s) they were detected.
 11467  	ModerationLabels []*ContentModerationDetection `type:"list"`
 11468  
 11469  	// Version number of the moderation detection model that was used to detect
 11470  	// inappropriate, unwanted, or offensive content.
 11471  	ModerationModelVersion *string `type:"string"`
 11472  
 11473  	// If the response is truncated, Amazon Rekognition Video returns this token
 11474  	// that you can use in the subsequent request to retrieve the next set of content
 11475  	// moderation labels.
 11476  	NextToken *string `type:"string"`
 11477  
 11478  	// If the job fails, StatusMessage provides a descriptive error message.
 11479  	StatusMessage *string `type:"string"`
 11480  
 11481  	// Information about a video that Amazon Rekognition analyzed. Videometadata
 11482  	// is returned in every page of paginated responses from GetContentModeration.
 11483  	VideoMetadata *VideoMetadata `type:"structure"`
 11484  }
 11485  
 11486  // String returns the string representation.
 11487  //
 11488  // API parameter values that are decorated as "sensitive" in the API will not
 11489  // be included in the string output. The member name will be present, but the
 11490  // value will be replaced with "sensitive".
 11491  func (s GetContentModerationOutput) String() string {
 11492  	return awsutil.Prettify(s)
 11493  }
 11494  
 11495  // GoString returns the string representation.
 11496  //
 11497  // API parameter values that are decorated as "sensitive" in the API will not
 11498  // be included in the string output. The member name will be present, but the
 11499  // value will be replaced with "sensitive".
 11500  func (s GetContentModerationOutput) GoString() string {
 11501  	return s.String()
 11502  }
 11503  
 11504  // SetJobStatus sets the JobStatus field's value.
 11505  func (s *GetContentModerationOutput) SetJobStatus(v string) *GetContentModerationOutput {
 11506  	s.JobStatus = &v
 11507  	return s
 11508  }
 11509  
 11510  // SetModerationLabels sets the ModerationLabels field's value.
 11511  func (s *GetContentModerationOutput) SetModerationLabels(v []*ContentModerationDetection) *GetContentModerationOutput {
 11512  	s.ModerationLabels = v
 11513  	return s
 11514  }
 11515  
 11516  // SetModerationModelVersion sets the ModerationModelVersion field's value.
 11517  func (s *GetContentModerationOutput) SetModerationModelVersion(v string) *GetContentModerationOutput {
 11518  	s.ModerationModelVersion = &v
 11519  	return s
 11520  }
 11521  
 11522  // SetNextToken sets the NextToken field's value.
 11523  func (s *GetContentModerationOutput) SetNextToken(v string) *GetContentModerationOutput {
 11524  	s.NextToken = &v
 11525  	return s
 11526  }
 11527  
 11528  // SetStatusMessage sets the StatusMessage field's value.
 11529  func (s *GetContentModerationOutput) SetStatusMessage(v string) *GetContentModerationOutput {
 11530  	s.StatusMessage = &v
 11531  	return s
 11532  }
 11533  
 11534  // SetVideoMetadata sets the VideoMetadata field's value.
 11535  func (s *GetContentModerationOutput) SetVideoMetadata(v *VideoMetadata) *GetContentModerationOutput {
 11536  	s.VideoMetadata = v
 11537  	return s
 11538  }
 11539  
 11540  type GetFaceDetectionInput struct {
 11541  	_ struct{} `type:"structure"`
 11542  
 11543  	// Unique identifier for the face detection job. The JobId is returned from
 11544  	// StartFaceDetection.
 11545  	//
 11546  	// JobId is a required field
 11547  	JobId *string `min:"1" type:"string" required:"true"`
 11548  
 11549  	// Maximum number of results to return per paginated call. The largest value
 11550  	// you can specify is 1000. If you specify a value greater than 1000, a maximum
 11551  	// of 1000 results is returned. The default value is 1000.
 11552  	MaxResults *int64 `min:"1" type:"integer"`
 11553  
 11554  	// If the previous response was incomplete (because there are more faces to
 11555  	// retrieve), Amazon Rekognition Video returns a pagination token in the response.
 11556  	// You can use this pagination token to retrieve the next set of faces.
 11557  	NextToken *string `type:"string"`
 11558  }
 11559  
 11560  // String returns the string representation.
 11561  //
 11562  // API parameter values that are decorated as "sensitive" in the API will not
 11563  // be included in the string output. The member name will be present, but the
 11564  // value will be replaced with "sensitive".
 11565  func (s GetFaceDetectionInput) String() string {
 11566  	return awsutil.Prettify(s)
 11567  }
 11568  
 11569  // GoString returns the string representation.
 11570  //
 11571  // API parameter values that are decorated as "sensitive" in the API will not
 11572  // be included in the string output. The member name will be present, but the
 11573  // value will be replaced with "sensitive".
 11574  func (s GetFaceDetectionInput) GoString() string {
 11575  	return s.String()
 11576  }
 11577  
 11578  // Validate inspects the fields of the type to determine if they are valid.
 11579  func (s *GetFaceDetectionInput) Validate() error {
 11580  	invalidParams := request.ErrInvalidParams{Context: "GetFaceDetectionInput"}
 11581  	if s.JobId == nil {
 11582  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 11583  	}
 11584  	if s.JobId != nil && len(*s.JobId) < 1 {
 11585  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 11586  	}
 11587  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11588  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11589  	}
 11590  
 11591  	if invalidParams.Len() > 0 {
 11592  		return invalidParams
 11593  	}
 11594  	return nil
 11595  }
 11596  
 11597  // SetJobId sets the JobId field's value.
 11598  func (s *GetFaceDetectionInput) SetJobId(v string) *GetFaceDetectionInput {
 11599  	s.JobId = &v
 11600  	return s
 11601  }
 11602  
 11603  // SetMaxResults sets the MaxResults field's value.
 11604  func (s *GetFaceDetectionInput) SetMaxResults(v int64) *GetFaceDetectionInput {
 11605  	s.MaxResults = &v
 11606  	return s
 11607  }
 11608  
 11609  // SetNextToken sets the NextToken field's value.
 11610  func (s *GetFaceDetectionInput) SetNextToken(v string) *GetFaceDetectionInput {
 11611  	s.NextToken = &v
 11612  	return s
 11613  }
 11614  
 11615  type GetFaceDetectionOutput struct {
 11616  	_ struct{} `type:"structure"`
 11617  
 11618  	// An array of faces detected in the video. Each element contains a detected
 11619  	// face's details and the time, in milliseconds from the start of the video,
 11620  	// the face was detected.
 11621  	Faces []*FaceDetection `type:"list"`
 11622  
 11623  	// The current status of the face detection job.
 11624  	JobStatus *string `type:"string" enum:"VideoJobStatus"`
 11625  
 11626  	// If the response is truncated, Amazon Rekognition returns this token that
 11627  	// you can use in the subsequent request to retrieve the next set of faces.
 11628  	NextToken *string `type:"string"`
 11629  
 11630  	// If the job fails, StatusMessage provides a descriptive error message.
 11631  	StatusMessage *string `type:"string"`
 11632  
 11633  	// Information about a video that Amazon Rekognition Video analyzed. Videometadata
 11634  	// is returned in every page of paginated responses from a Amazon Rekognition
 11635  	// video operation.
 11636  	VideoMetadata *VideoMetadata `type:"structure"`
 11637  }
 11638  
 11639  // String returns the string representation.
 11640  //
 11641  // API parameter values that are decorated as "sensitive" in the API will not
 11642  // be included in the string output. The member name will be present, but the
 11643  // value will be replaced with "sensitive".
 11644  func (s GetFaceDetectionOutput) String() string {
 11645  	return awsutil.Prettify(s)
 11646  }
 11647  
 11648  // GoString returns the string representation.
 11649  //
 11650  // API parameter values that are decorated as "sensitive" in the API will not
 11651  // be included in the string output. The member name will be present, but the
 11652  // value will be replaced with "sensitive".
 11653  func (s GetFaceDetectionOutput) GoString() string {
 11654  	return s.String()
 11655  }
 11656  
 11657  // SetFaces sets the Faces field's value.
 11658  func (s *GetFaceDetectionOutput) SetFaces(v []*FaceDetection) *GetFaceDetectionOutput {
 11659  	s.Faces = v
 11660  	return s
 11661  }
 11662  
 11663  // SetJobStatus sets the JobStatus field's value.
 11664  func (s *GetFaceDetectionOutput) SetJobStatus(v string) *GetFaceDetectionOutput {
 11665  	s.JobStatus = &v
 11666  	return s
 11667  }
 11668  
 11669  // SetNextToken sets the NextToken field's value.
 11670  func (s *GetFaceDetectionOutput) SetNextToken(v string) *GetFaceDetectionOutput {
 11671  	s.NextToken = &v
 11672  	return s
 11673  }
 11674  
 11675  // SetStatusMessage sets the StatusMessage field's value.
 11676  func (s *GetFaceDetectionOutput) SetStatusMessage(v string) *GetFaceDetectionOutput {
 11677  	s.StatusMessage = &v
 11678  	return s
 11679  }
 11680  
 11681  // SetVideoMetadata sets the VideoMetadata field's value.
 11682  func (s *GetFaceDetectionOutput) SetVideoMetadata(v *VideoMetadata) *GetFaceDetectionOutput {
 11683  	s.VideoMetadata = v
 11684  	return s
 11685  }
 11686  
 11687  type GetFaceSearchInput struct {
 11688  	_ struct{} `type:"structure"`
 11689  
 11690  	// The job identifer for the search request. You get the job identifier from
 11691  	// an initial call to StartFaceSearch.
 11692  	//
 11693  	// JobId is a required field
 11694  	JobId *string `min:"1" type:"string" required:"true"`
 11695  
 11696  	// Maximum number of results to return per paginated call. The largest value
 11697  	// you can specify is 1000. If you specify a value greater than 1000, a maximum
 11698  	// of 1000 results is returned. The default value is 1000.
 11699  	MaxResults *int64 `min:"1" type:"integer"`
 11700  
 11701  	// If the previous response was incomplete (because there is more search results
 11702  	// to retrieve), Amazon Rekognition Video returns a pagination token in the
 11703  	// response. You can use this pagination token to retrieve the next set of search
 11704  	// results.
 11705  	NextToken *string `type:"string"`
 11706  
 11707  	// Sort to use for grouping faces in the response. Use TIMESTAMP to group faces
 11708  	// by the time that they are recognized. Use INDEX to sort by recognized faces.
 11709  	SortBy *string `type:"string" enum:"FaceSearchSortBy"`
 11710  }
 11711  
 11712  // String returns the string representation.
 11713  //
 11714  // API parameter values that are decorated as "sensitive" in the API will not
 11715  // be included in the string output. The member name will be present, but the
 11716  // value will be replaced with "sensitive".
 11717  func (s GetFaceSearchInput) String() string {
 11718  	return awsutil.Prettify(s)
 11719  }
 11720  
 11721  // GoString returns the string representation.
 11722  //
 11723  // API parameter values that are decorated as "sensitive" in the API will not
 11724  // be included in the string output. The member name will be present, but the
 11725  // value will be replaced with "sensitive".
 11726  func (s GetFaceSearchInput) GoString() string {
 11727  	return s.String()
 11728  }
 11729  
 11730  // Validate inspects the fields of the type to determine if they are valid.
 11731  func (s *GetFaceSearchInput) Validate() error {
 11732  	invalidParams := request.ErrInvalidParams{Context: "GetFaceSearchInput"}
 11733  	if s.JobId == nil {
 11734  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 11735  	}
 11736  	if s.JobId != nil && len(*s.JobId) < 1 {
 11737  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 11738  	}
 11739  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11740  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11741  	}
 11742  
 11743  	if invalidParams.Len() > 0 {
 11744  		return invalidParams
 11745  	}
 11746  	return nil
 11747  }
 11748  
 11749  // SetJobId sets the JobId field's value.
 11750  func (s *GetFaceSearchInput) SetJobId(v string) *GetFaceSearchInput {
 11751  	s.JobId = &v
 11752  	return s
 11753  }
 11754  
 11755  // SetMaxResults sets the MaxResults field's value.
 11756  func (s *GetFaceSearchInput) SetMaxResults(v int64) *GetFaceSearchInput {
 11757  	s.MaxResults = &v
 11758  	return s
 11759  }
 11760  
 11761  // SetNextToken sets the NextToken field's value.
 11762  func (s *GetFaceSearchInput) SetNextToken(v string) *GetFaceSearchInput {
 11763  	s.NextToken = &v
 11764  	return s
 11765  }
 11766  
 11767  // SetSortBy sets the SortBy field's value.
 11768  func (s *GetFaceSearchInput) SetSortBy(v string) *GetFaceSearchInput {
 11769  	s.SortBy = &v
 11770  	return s
 11771  }
 11772  
 11773  type GetFaceSearchOutput struct {
 11774  	_ struct{} `type:"structure"`
 11775  
 11776  	// The current status of the face search job.
 11777  	JobStatus *string `type:"string" enum:"VideoJobStatus"`
 11778  
 11779  	// If the response is truncated, Amazon Rekognition Video returns this token
 11780  	// that you can use in the subsequent request to retrieve the next set of search
 11781  	// results.
 11782  	NextToken *string `type:"string"`
 11783  
 11784  	// An array of persons, PersonMatch, in the video whose face(s) match the face(s)
 11785  	// in an Amazon Rekognition collection. It also includes time information for
 11786  	// when persons are matched in the video. You specify the input collection in
 11787  	// an initial call to StartFaceSearch. Each Persons element includes a time
 11788  	// the person was matched, face match details (FaceMatches) for matching faces
 11789  	// in the collection, and person information (Person) for the matched person.
 11790  	Persons []*PersonMatch `type:"list"`
 11791  
 11792  	// If the job fails, StatusMessage provides a descriptive error message.
 11793  	StatusMessage *string `type:"string"`
 11794  
 11795  	// Information about a video that Amazon Rekognition analyzed. Videometadata
 11796  	// is returned in every page of paginated responses from a Amazon Rekognition
 11797  	// Video operation.
 11798  	VideoMetadata *VideoMetadata `type:"structure"`
 11799  }
 11800  
 11801  // String returns the string representation.
 11802  //
 11803  // API parameter values that are decorated as "sensitive" in the API will not
 11804  // be included in the string output. The member name will be present, but the
 11805  // value will be replaced with "sensitive".
 11806  func (s GetFaceSearchOutput) String() string {
 11807  	return awsutil.Prettify(s)
 11808  }
 11809  
 11810  // GoString returns the string representation.
 11811  //
 11812  // API parameter values that are decorated as "sensitive" in the API will not
 11813  // be included in the string output. The member name will be present, but the
 11814  // value will be replaced with "sensitive".
 11815  func (s GetFaceSearchOutput) GoString() string {
 11816  	return s.String()
 11817  }
 11818  
 11819  // SetJobStatus sets the JobStatus field's value.
 11820  func (s *GetFaceSearchOutput) SetJobStatus(v string) *GetFaceSearchOutput {
 11821  	s.JobStatus = &v
 11822  	return s
 11823  }
 11824  
 11825  // SetNextToken sets the NextToken field's value.
 11826  func (s *GetFaceSearchOutput) SetNextToken(v string) *GetFaceSearchOutput {
 11827  	s.NextToken = &v
 11828  	return s
 11829  }
 11830  
 11831  // SetPersons sets the Persons field's value.
 11832  func (s *GetFaceSearchOutput) SetPersons(v []*PersonMatch) *GetFaceSearchOutput {
 11833  	s.Persons = v
 11834  	return s
 11835  }
 11836  
 11837  // SetStatusMessage sets the StatusMessage field's value.
 11838  func (s *GetFaceSearchOutput) SetStatusMessage(v string) *GetFaceSearchOutput {
 11839  	s.StatusMessage = &v
 11840  	return s
 11841  }
 11842  
 11843  // SetVideoMetadata sets the VideoMetadata field's value.
 11844  func (s *GetFaceSearchOutput) SetVideoMetadata(v *VideoMetadata) *GetFaceSearchOutput {
 11845  	s.VideoMetadata = v
 11846  	return s
 11847  }
 11848  
 11849  type GetLabelDetectionInput struct {
 11850  	_ struct{} `type:"structure"`
 11851  
 11852  	// Job identifier for the label detection operation for which you want results
 11853  	// returned. You get the job identifer from an initial call to StartlabelDetection.
 11854  	//
 11855  	// JobId is a required field
 11856  	JobId *string `min:"1" type:"string" required:"true"`
 11857  
 11858  	// Maximum number of results to return per paginated call. The largest value
 11859  	// you can specify is 1000. If you specify a value greater than 1000, a maximum
 11860  	// of 1000 results is returned. The default value is 1000.
 11861  	MaxResults *int64 `min:"1" type:"integer"`
 11862  
 11863  	// If the previous response was incomplete (because there are more labels to
 11864  	// retrieve), Amazon Rekognition Video returns a pagination token in the response.
 11865  	// You can use this pagination token to retrieve the next set of labels.
 11866  	NextToken *string `type:"string"`
 11867  
 11868  	// Sort to use for elements in the Labels array. Use TIMESTAMP to sort array
 11869  	// elements by the time labels are detected. Use NAME to alphabetically group
 11870  	// elements for a label together. Within each label group, the array element
 11871  	// are sorted by detection confidence. The default sort is by TIMESTAMP.
 11872  	SortBy *string `type:"string" enum:"LabelDetectionSortBy"`
 11873  }
 11874  
 11875  // String returns the string representation.
 11876  //
 11877  // API parameter values that are decorated as "sensitive" in the API will not
 11878  // be included in the string output. The member name will be present, but the
 11879  // value will be replaced with "sensitive".
 11880  func (s GetLabelDetectionInput) String() string {
 11881  	return awsutil.Prettify(s)
 11882  }
 11883  
 11884  // GoString returns the string representation.
 11885  //
 11886  // API parameter values that are decorated as "sensitive" in the API will not
 11887  // be included in the string output. The member name will be present, but the
 11888  // value will be replaced with "sensitive".
 11889  func (s GetLabelDetectionInput) GoString() string {
 11890  	return s.String()
 11891  }
 11892  
 11893  // Validate inspects the fields of the type to determine if they are valid.
 11894  func (s *GetLabelDetectionInput) Validate() error {
 11895  	invalidParams := request.ErrInvalidParams{Context: "GetLabelDetectionInput"}
 11896  	if s.JobId == nil {
 11897  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 11898  	}
 11899  	if s.JobId != nil && len(*s.JobId) < 1 {
 11900  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 11901  	}
 11902  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11903  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11904  	}
 11905  
 11906  	if invalidParams.Len() > 0 {
 11907  		return invalidParams
 11908  	}
 11909  	return nil
 11910  }
 11911  
 11912  // SetJobId sets the JobId field's value.
 11913  func (s *GetLabelDetectionInput) SetJobId(v string) *GetLabelDetectionInput {
 11914  	s.JobId = &v
 11915  	return s
 11916  }
 11917  
 11918  // SetMaxResults sets the MaxResults field's value.
 11919  func (s *GetLabelDetectionInput) SetMaxResults(v int64) *GetLabelDetectionInput {
 11920  	s.MaxResults = &v
 11921  	return s
 11922  }
 11923  
 11924  // SetNextToken sets the NextToken field's value.
 11925  func (s *GetLabelDetectionInput) SetNextToken(v string) *GetLabelDetectionInput {
 11926  	s.NextToken = &v
 11927  	return s
 11928  }
 11929  
 11930  // SetSortBy sets the SortBy field's value.
 11931  func (s *GetLabelDetectionInput) SetSortBy(v string) *GetLabelDetectionInput {
 11932  	s.SortBy = &v
 11933  	return s
 11934  }
 11935  
 11936  type GetLabelDetectionOutput struct {
 11937  	_ struct{} `type:"structure"`
 11938  
 11939  	// The current status of the label detection job.
 11940  	JobStatus *string `type:"string" enum:"VideoJobStatus"`
 11941  
 11942  	// Version number of the label detection model that was used to detect labels.
 11943  	LabelModelVersion *string `type:"string"`
 11944  
 11945  	// An array of labels detected in the video. Each element contains the detected
 11946  	// label and the time, in milliseconds from the start of the video, that the
 11947  	// label was detected.
 11948  	Labels []*LabelDetection `type:"list"`
 11949  
 11950  	// If the response is truncated, Amazon Rekognition Video returns this token
 11951  	// that you can use in the subsequent request to retrieve the next set of labels.
 11952  	NextToken *string `type:"string"`
 11953  
 11954  	// If the job fails, StatusMessage provides a descriptive error message.
 11955  	StatusMessage *string `type:"string"`
 11956  
 11957  	// Information about a video that Amazon Rekognition Video analyzed. Videometadata
 11958  	// is returned in every page of paginated responses from a Amazon Rekognition
 11959  	// video operation.
 11960  	VideoMetadata *VideoMetadata `type:"structure"`
 11961  }
 11962  
 11963  // String returns the string representation.
 11964  //
 11965  // API parameter values that are decorated as "sensitive" in the API will not
 11966  // be included in the string output. The member name will be present, but the
 11967  // value will be replaced with "sensitive".
 11968  func (s GetLabelDetectionOutput) String() string {
 11969  	return awsutil.Prettify(s)
 11970  }
 11971  
 11972  // GoString returns the string representation.
 11973  //
 11974  // API parameter values that are decorated as "sensitive" in the API will not
 11975  // be included in the string output. The member name will be present, but the
 11976  // value will be replaced with "sensitive".
 11977  func (s GetLabelDetectionOutput) GoString() string {
 11978  	return s.String()
 11979  }
 11980  
 11981  // SetJobStatus sets the JobStatus field's value.
 11982  func (s *GetLabelDetectionOutput) SetJobStatus(v string) *GetLabelDetectionOutput {
 11983  	s.JobStatus = &v
 11984  	return s
 11985  }
 11986  
 11987  // SetLabelModelVersion sets the LabelModelVersion field's value.
 11988  func (s *GetLabelDetectionOutput) SetLabelModelVersion(v string) *GetLabelDetectionOutput {
 11989  	s.LabelModelVersion = &v
 11990  	return s
 11991  }
 11992  
 11993  // SetLabels sets the Labels field's value.
 11994  func (s *GetLabelDetectionOutput) SetLabels(v []*LabelDetection) *GetLabelDetectionOutput {
 11995  	s.Labels = v
 11996  	return s
 11997  }
 11998  
 11999  // SetNextToken sets the NextToken field's value.
 12000  func (s *GetLabelDetectionOutput) SetNextToken(v string) *GetLabelDetectionOutput {
 12001  	s.NextToken = &v
 12002  	return s
 12003  }
 12004  
 12005  // SetStatusMessage sets the StatusMessage field's value.
 12006  func (s *GetLabelDetectionOutput) SetStatusMessage(v string) *GetLabelDetectionOutput {
 12007  	s.StatusMessage = &v
 12008  	return s
 12009  }
 12010  
 12011  // SetVideoMetadata sets the VideoMetadata field's value.
 12012  func (s *GetLabelDetectionOutput) SetVideoMetadata(v *VideoMetadata) *GetLabelDetectionOutput {
 12013  	s.VideoMetadata = v
 12014  	return s
 12015  }
 12016  
 12017  type GetPersonTrackingInput struct {
 12018  	_ struct{} `type:"structure"`
 12019  
 12020  	// The identifier for a job that tracks persons in a video. You get the JobId
 12021  	// from a call to StartPersonTracking.
 12022  	//
 12023  	// JobId is a required field
 12024  	JobId *string `min:"1" type:"string" required:"true"`
 12025  
 12026  	// Maximum number of results to return per paginated call. The largest value
 12027  	// you can specify is 1000. If you specify a value greater than 1000, a maximum
 12028  	// of 1000 results is returned. The default value is 1000.
 12029  	MaxResults *int64 `min:"1" type:"integer"`
 12030  
 12031  	// If the previous response was incomplete (because there are more persons to
 12032  	// retrieve), Amazon Rekognition Video returns a pagination token in the response.
 12033  	// You can use this pagination token to retrieve the next set of persons.
 12034  	NextToken *string `type:"string"`
 12035  
 12036  	// Sort to use for elements in the Persons array. Use TIMESTAMP to sort array
 12037  	// elements by the time persons are detected. Use INDEX to sort by the tracked
 12038  	// persons. If you sort by INDEX, the array elements for each person are sorted
 12039  	// by detection confidence. The default sort is by TIMESTAMP.
 12040  	SortBy *string `type:"string" enum:"PersonTrackingSortBy"`
 12041  }
 12042  
 12043  // String returns the string representation.
 12044  //
 12045  // API parameter values that are decorated as "sensitive" in the API will not
 12046  // be included in the string output. The member name will be present, but the
 12047  // value will be replaced with "sensitive".
 12048  func (s GetPersonTrackingInput) String() string {
 12049  	return awsutil.Prettify(s)
 12050  }
 12051  
 12052  // GoString returns the string representation.
 12053  //
 12054  // API parameter values that are decorated as "sensitive" in the API will not
 12055  // be included in the string output. The member name will be present, but the
 12056  // value will be replaced with "sensitive".
 12057  func (s GetPersonTrackingInput) GoString() string {
 12058  	return s.String()
 12059  }
 12060  
 12061  // Validate inspects the fields of the type to determine if they are valid.
 12062  func (s *GetPersonTrackingInput) Validate() error {
 12063  	invalidParams := request.ErrInvalidParams{Context: "GetPersonTrackingInput"}
 12064  	if s.JobId == nil {
 12065  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 12066  	}
 12067  	if s.JobId != nil && len(*s.JobId) < 1 {
 12068  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 12069  	}
 12070  	if s.MaxResults != nil && *s.MaxResults < 1 {
 12071  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 12072  	}
 12073  
 12074  	if invalidParams.Len() > 0 {
 12075  		return invalidParams
 12076  	}
 12077  	return nil
 12078  }
 12079  
 12080  // SetJobId sets the JobId field's value.
 12081  func (s *GetPersonTrackingInput) SetJobId(v string) *GetPersonTrackingInput {
 12082  	s.JobId = &v
 12083  	return s
 12084  }
 12085  
 12086  // SetMaxResults sets the MaxResults field's value.
 12087  func (s *GetPersonTrackingInput) SetMaxResults(v int64) *GetPersonTrackingInput {
 12088  	s.MaxResults = &v
 12089  	return s
 12090  }
 12091  
 12092  // SetNextToken sets the NextToken field's value.
 12093  func (s *GetPersonTrackingInput) SetNextToken(v string) *GetPersonTrackingInput {
 12094  	s.NextToken = &v
 12095  	return s
 12096  }
 12097  
 12098  // SetSortBy sets the SortBy field's value.
 12099  func (s *GetPersonTrackingInput) SetSortBy(v string) *GetPersonTrackingInput {
 12100  	s.SortBy = &v
 12101  	return s
 12102  }
 12103  
 12104  type GetPersonTrackingOutput struct {
 12105  	_ struct{} `type:"structure"`
 12106  
 12107  	// The current status of the person tracking job.
 12108  	JobStatus *string `type:"string" enum:"VideoJobStatus"`
 12109  
 12110  	// If the response is truncated, Amazon Rekognition Video returns this token
 12111  	// that you can use in the subsequent request to retrieve the next set of persons.
 12112  	NextToken *string `type:"string"`
 12113  
 12114  	// An array of the persons detected in the video and the time(s) their path
 12115  	// was tracked throughout the video. An array element will exist for each time
 12116  	// a person's path is tracked.
 12117  	Persons []*PersonDetection `type:"list"`
 12118  
 12119  	// If the job fails, StatusMessage provides a descriptive error message.
 12120  	StatusMessage *string `type:"string"`
 12121  
 12122  	// Information about a video that Amazon Rekognition Video analyzed. Videometadata
 12123  	// is returned in every page of paginated responses from a Amazon Rekognition
 12124  	// Video operation.
 12125  	VideoMetadata *VideoMetadata `type:"structure"`
 12126  }
 12127  
 12128  // String returns the string representation.
 12129  //
 12130  // API parameter values that are decorated as "sensitive" in the API will not
 12131  // be included in the string output. The member name will be present, but the
 12132  // value will be replaced with "sensitive".
 12133  func (s GetPersonTrackingOutput) String() string {
 12134  	return awsutil.Prettify(s)
 12135  }
 12136  
 12137  // GoString returns the string representation.
 12138  //
 12139  // API parameter values that are decorated as "sensitive" in the API will not
 12140  // be included in the string output. The member name will be present, but the
 12141  // value will be replaced with "sensitive".
 12142  func (s GetPersonTrackingOutput) GoString() string {
 12143  	return s.String()
 12144  }
 12145  
 12146  // SetJobStatus sets the JobStatus field's value.
 12147  func (s *GetPersonTrackingOutput) SetJobStatus(v string) *GetPersonTrackingOutput {
 12148  	s.JobStatus = &v
 12149  	return s
 12150  }
 12151  
 12152  // SetNextToken sets the NextToken field's value.
 12153  func (s *GetPersonTrackingOutput) SetNextToken(v string) *GetPersonTrackingOutput {
 12154  	s.NextToken = &v
 12155  	return s
 12156  }
 12157  
 12158  // SetPersons sets the Persons field's value.
 12159  func (s *GetPersonTrackingOutput) SetPersons(v []*PersonDetection) *GetPersonTrackingOutput {
 12160  	s.Persons = v
 12161  	return s
 12162  }
 12163  
 12164  // SetStatusMessage sets the StatusMessage field's value.
 12165  func (s *GetPersonTrackingOutput) SetStatusMessage(v string) *GetPersonTrackingOutput {
 12166  	s.StatusMessage = &v
 12167  	return s
 12168  }
 12169  
 12170  // SetVideoMetadata sets the VideoMetadata field's value.
 12171  func (s *GetPersonTrackingOutput) SetVideoMetadata(v *VideoMetadata) *GetPersonTrackingOutput {
 12172  	s.VideoMetadata = v
 12173  	return s
 12174  }
 12175  
 12176  type GetSegmentDetectionInput struct {
 12177  	_ struct{} `type:"structure"`
 12178  
 12179  	// Job identifier for the text detection operation for which you want results
 12180  	// returned. You get the job identifer from an initial call to StartSegmentDetection.
 12181  	//
 12182  	// JobId is a required field
 12183  	JobId *string `min:"1" type:"string" required:"true"`
 12184  
 12185  	// Maximum number of results to return per paginated call. The largest value
 12186  	// you can specify is 1000.
 12187  	MaxResults *int64 `min:"1" type:"integer"`
 12188  
 12189  	// If the response is truncated, Amazon Rekognition Video returns this token
 12190  	// that you can use in the subsequent request to retrieve the next set of text.
 12191  	NextToken *string `type:"string"`
 12192  }
 12193  
 12194  // String returns the string representation.
 12195  //
 12196  // API parameter values that are decorated as "sensitive" in the API will not
 12197  // be included in the string output. The member name will be present, but the
 12198  // value will be replaced with "sensitive".
 12199  func (s GetSegmentDetectionInput) String() string {
 12200  	return awsutil.Prettify(s)
 12201  }
 12202  
 12203  // GoString returns the string representation.
 12204  //
 12205  // API parameter values that are decorated as "sensitive" in the API will not
 12206  // be included in the string output. The member name will be present, but the
 12207  // value will be replaced with "sensitive".
 12208  func (s GetSegmentDetectionInput) GoString() string {
 12209  	return s.String()
 12210  }
 12211  
 12212  // Validate inspects the fields of the type to determine if they are valid.
 12213  func (s *GetSegmentDetectionInput) Validate() error {
 12214  	invalidParams := request.ErrInvalidParams{Context: "GetSegmentDetectionInput"}
 12215  	if s.JobId == nil {
 12216  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 12217  	}
 12218  	if s.JobId != nil && len(*s.JobId) < 1 {
 12219  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 12220  	}
 12221  	if s.MaxResults != nil && *s.MaxResults < 1 {
 12222  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 12223  	}
 12224  
 12225  	if invalidParams.Len() > 0 {
 12226  		return invalidParams
 12227  	}
 12228  	return nil
 12229  }
 12230  
 12231  // SetJobId sets the JobId field's value.
 12232  func (s *GetSegmentDetectionInput) SetJobId(v string) *GetSegmentDetectionInput {
 12233  	s.JobId = &v
 12234  	return s
 12235  }
 12236  
 12237  // SetMaxResults sets the MaxResults field's value.
 12238  func (s *GetSegmentDetectionInput) SetMaxResults(v int64) *GetSegmentDetectionInput {
 12239  	s.MaxResults = &v
 12240  	return s
 12241  }
 12242  
 12243  // SetNextToken sets the NextToken field's value.
 12244  func (s *GetSegmentDetectionInput) SetNextToken(v string) *GetSegmentDetectionInput {
 12245  	s.NextToken = &v
 12246  	return s
 12247  }
 12248  
 12249  type GetSegmentDetectionOutput struct {
 12250  	_ struct{} `type:"structure"`
 12251  
 12252  	// An array of objects. There can be multiple audio streams. Each AudioMetadata
 12253  	// object contains metadata for a single audio stream. Audio information in
 12254  	// an AudioMetadata objects includes the audio codec, the number of audio channels,
 12255  	// the duration of the audio stream, and the sample rate. Audio metadata is
 12256  	// returned in each page of information returned by GetSegmentDetection.
 12257  	AudioMetadata []*AudioMetadata `type:"list"`
 12258  
 12259  	// Current status of the segment detection job.
 12260  	JobStatus *string `type:"string" enum:"VideoJobStatus"`
 12261  
 12262  	// If the previous response was incomplete (because there are more labels to
 12263  	// retrieve), Amazon Rekognition Video returns a pagination token in the response.
 12264  	// You can use this pagination token to retrieve the next set of text.
 12265  	NextToken *string `type:"string"`
 12266  
 12267  	// An array of segments detected in a video. The array is sorted by the segment
 12268  	// types (TECHNICAL_CUE or SHOT) specified in the SegmentTypes input parameter
 12269  	// of StartSegmentDetection. Within each segment type the array is sorted by
 12270  	// timestamp values.
 12271  	Segments []*SegmentDetection `type:"list"`
 12272  
 12273  	// An array containing the segment types requested in the call to StartSegmentDetection.
 12274  	SelectedSegmentTypes []*SegmentTypeInfo `type:"list"`
 12275  
 12276  	// If the job fails, StatusMessage provides a descriptive error message.
 12277  	StatusMessage *string `type:"string"`
 12278  
 12279  	// Currently, Amazon Rekognition Video returns a single object in the VideoMetadata
 12280  	// array. The object contains information about the video stream in the input
 12281  	// file that Amazon Rekognition Video chose to analyze. The VideoMetadata object
 12282  	// includes the video codec, video format and other information. Video metadata
 12283  	// is returned in each page of information returned by GetSegmentDetection.
 12284  	VideoMetadata []*VideoMetadata `type:"list"`
 12285  }
 12286  
 12287  // String returns the string representation.
 12288  //
 12289  // API parameter values that are decorated as "sensitive" in the API will not
 12290  // be included in the string output. The member name will be present, but the
 12291  // value will be replaced with "sensitive".
 12292  func (s GetSegmentDetectionOutput) String() string {
 12293  	return awsutil.Prettify(s)
 12294  }
 12295  
 12296  // GoString returns the string representation.
 12297  //
 12298  // API parameter values that are decorated as "sensitive" in the API will not
 12299  // be included in the string output. The member name will be present, but the
 12300  // value will be replaced with "sensitive".
 12301  func (s GetSegmentDetectionOutput) GoString() string {
 12302  	return s.String()
 12303  }
 12304  
 12305  // SetAudioMetadata sets the AudioMetadata field's value.
 12306  func (s *GetSegmentDetectionOutput) SetAudioMetadata(v []*AudioMetadata) *GetSegmentDetectionOutput {
 12307  	s.AudioMetadata = v
 12308  	return s
 12309  }
 12310  
 12311  // SetJobStatus sets the JobStatus field's value.
 12312  func (s *GetSegmentDetectionOutput) SetJobStatus(v string) *GetSegmentDetectionOutput {
 12313  	s.JobStatus = &v
 12314  	return s
 12315  }
 12316  
 12317  // SetNextToken sets the NextToken field's value.
 12318  func (s *GetSegmentDetectionOutput) SetNextToken(v string) *GetSegmentDetectionOutput {
 12319  	s.NextToken = &v
 12320  	return s
 12321  }
 12322  
 12323  // SetSegments sets the Segments field's value.
 12324  func (s *GetSegmentDetectionOutput) SetSegments(v []*SegmentDetection) *GetSegmentDetectionOutput {
 12325  	s.Segments = v
 12326  	return s
 12327  }
 12328  
 12329  // SetSelectedSegmentTypes sets the SelectedSegmentTypes field's value.
 12330  func (s *GetSegmentDetectionOutput) SetSelectedSegmentTypes(v []*SegmentTypeInfo) *GetSegmentDetectionOutput {
 12331  	s.SelectedSegmentTypes = v
 12332  	return s
 12333  }
 12334  
 12335  // SetStatusMessage sets the StatusMessage field's value.
 12336  func (s *GetSegmentDetectionOutput) SetStatusMessage(v string) *GetSegmentDetectionOutput {
 12337  	s.StatusMessage = &v
 12338  	return s
 12339  }
 12340  
 12341  // SetVideoMetadata sets the VideoMetadata field's value.
 12342  func (s *GetSegmentDetectionOutput) SetVideoMetadata(v []*VideoMetadata) *GetSegmentDetectionOutput {
 12343  	s.VideoMetadata = v
 12344  	return s
 12345  }
 12346  
 12347  type GetTextDetectionInput struct {
 12348  	_ struct{} `type:"structure"`
 12349  
 12350  	// Job identifier for the text detection operation for which you want results
 12351  	// returned. You get the job identifer from an initial call to StartTextDetection.
 12352  	//
 12353  	// JobId is a required field
 12354  	JobId *string `min:"1" type:"string" required:"true"`
 12355  
 12356  	// Maximum number of results to return per paginated call. The largest value
 12357  	// you can specify is 1000.
 12358  	MaxResults *int64 `min:"1" type:"integer"`
 12359  
 12360  	// If the previous response was incomplete (because there are more labels to
 12361  	// retrieve), Amazon Rekognition Video returns a pagination token in the response.
 12362  	// You can use this pagination token to retrieve the next set of text.
 12363  	NextToken *string `type:"string"`
 12364  }
 12365  
 12366  // String returns the string representation.
 12367  //
 12368  // API parameter values that are decorated as "sensitive" in the API will not
 12369  // be included in the string output. The member name will be present, but the
 12370  // value will be replaced with "sensitive".
 12371  func (s GetTextDetectionInput) String() string {
 12372  	return awsutil.Prettify(s)
 12373  }
 12374  
 12375  // GoString returns the string representation.
 12376  //
 12377  // API parameter values that are decorated as "sensitive" in the API will not
 12378  // be included in the string output. The member name will be present, but the
 12379  // value will be replaced with "sensitive".
 12380  func (s GetTextDetectionInput) GoString() string {
 12381  	return s.String()
 12382  }
 12383  
 12384  // Validate inspects the fields of the type to determine if they are valid.
 12385  func (s *GetTextDetectionInput) Validate() error {
 12386  	invalidParams := request.ErrInvalidParams{Context: "GetTextDetectionInput"}
 12387  	if s.JobId == nil {
 12388  		invalidParams.Add(request.NewErrParamRequired("JobId"))
 12389  	}
 12390  	if s.JobId != nil && len(*s.JobId) < 1 {
 12391  		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
 12392  	}
 12393  	if s.MaxResults != nil && *s.MaxResults < 1 {
 12394  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 12395  	}
 12396  
 12397  	if invalidParams.Len() > 0 {
 12398  		return invalidParams
 12399  	}
 12400  	return nil
 12401  }
 12402  
 12403  // SetJobId sets the JobId field's value.
 12404  func (s *GetTextDetectionInput) SetJobId(v string) *GetTextDetectionInput {
 12405  	s.JobId = &v
 12406  	return s
 12407  }
 12408  
 12409  // SetMaxResults sets the MaxResults field's value.
 12410  func (s *GetTextDetectionInput) SetMaxResults(v int64) *GetTextDetectionInput {
 12411  	s.MaxResults = &v
 12412  	return s
 12413  }
 12414  
 12415  // SetNextToken sets the NextToken field's value.
 12416  func (s *GetTextDetectionInput) SetNextToken(v string) *GetTextDetectionInput {
 12417  	s.NextToken = &v
 12418  	return s
 12419  }
 12420  
 12421  type GetTextDetectionOutput struct {
 12422  	_ struct{} `type:"structure"`
 12423  
 12424  	// Current status of the text detection job.
 12425  	JobStatus *string `type:"string" enum:"VideoJobStatus"`
 12426  
 12427  	// If the response is truncated, Amazon Rekognition Video returns this token
 12428  	// that you can use in the subsequent request to retrieve the next set of text.
 12429  	NextToken *string `type:"string"`
 12430  
 12431  	// If the job fails, StatusMessage provides a descriptive error message.
 12432  	StatusMessage *string `type:"string"`
 12433  
 12434  	// An array of text detected in the video. Each element contains the detected
 12435  	// text, the time in milliseconds from the start of the video that the text
 12436  	// was detected, and where it was detected on the screen.
 12437  	TextDetections []*TextDetectionResult `type:"list"`
 12438  
 12439  	// Version number of the text detection model that was used to detect text.
 12440  	TextModelVersion *string `type:"string"`
 12441  
 12442  	// Information about a video that Amazon Rekognition analyzed. Videometadata
 12443  	// is returned in every page of paginated responses from a Amazon Rekognition
 12444  	// video operation.
 12445  	VideoMetadata *VideoMetadata `type:"structure"`
 12446  }
 12447  
 12448  // String returns the string representation.
 12449  //
 12450  // API parameter values that are decorated as "sensitive" in the API will not
 12451  // be included in the string output. The member name will be present, but the
 12452  // value will be replaced with "sensitive".
 12453  func (s GetTextDetectionOutput) String() string {
 12454  	return awsutil.Prettify(s)
 12455  }
 12456  
 12457  // GoString returns the string representation.
 12458  //
 12459  // API parameter values that are decorated as "sensitive" in the API will not
 12460  // be included in the string output. The member name will be present, but the
 12461  // value will be replaced with "sensitive".
 12462  func (s GetTextDetectionOutput) GoString() string {
 12463  	return s.String()
 12464  }
 12465  
 12466  // SetJobStatus sets the JobStatus field's value.
 12467  func (s *GetTextDetectionOutput) SetJobStatus(v string) *GetTextDetectionOutput {
 12468  	s.JobStatus = &v
 12469  	return s
 12470  }
 12471  
 12472  // SetNextToken sets the NextToken field's value.
 12473  func (s *GetTextDetectionOutput) SetNextToken(v string) *GetTextDetectionOutput {
 12474  	s.NextToken = &v
 12475  	return s
 12476  }
 12477  
 12478  // SetStatusMessage sets the StatusMessage field's value.
 12479  func (s *GetTextDetectionOutput) SetStatusMessage(v string) *GetTextDetectionOutput {
 12480  	s.StatusMessage = &v
 12481  	return s
 12482  }
 12483  
 12484  // SetTextDetections sets the TextDetections field's value.
 12485  func (s *GetTextDetectionOutput) SetTextDetections(v []*TextDetectionResult) *GetTextDetectionOutput {
 12486  	s.TextDetections = v
 12487  	return s
 12488  }
 12489  
 12490  // SetTextModelVersion sets the TextModelVersion field's value.
 12491  func (s *GetTextDetectionOutput) SetTextModelVersion(v string) *GetTextDetectionOutput {
 12492  	s.TextModelVersion = &v
 12493  	return s
 12494  }
 12495  
 12496  // SetVideoMetadata sets the VideoMetadata field's value.
 12497  func (s *GetTextDetectionOutput) SetVideoMetadata(v *VideoMetadata) *GetTextDetectionOutput {
 12498  	s.VideoMetadata = v
 12499  	return s
 12500  }
 12501  
 12502  // The S3 bucket that contains an Amazon Sagemaker Ground Truth format manifest
 12503  // file.
 12504  type GroundTruthManifest struct {
 12505  	_ struct{} `type:"structure"`
 12506  
 12507  	// Provides the S3 bucket name and object name.
 12508  	//
 12509  	// The region for the S3 bucket containing the S3 object must match the region
 12510  	// you use for Amazon Rekognition operations.
 12511  	//
 12512  	// For Amazon Rekognition to process an S3 object, the user must have permission
 12513  	// to access the S3 object. For more information, see Resource-Based Policies
 12514  	// in the Amazon Rekognition Developer Guide.
 12515  	S3Object *S3Object `type:"structure"`
 12516  }
 12517  
 12518  // String returns the string representation.
 12519  //
 12520  // API parameter values that are decorated as "sensitive" in the API will not
 12521  // be included in the string output. The member name will be present, but the
 12522  // value will be replaced with "sensitive".
 12523  func (s GroundTruthManifest) String() string {
 12524  	return awsutil.Prettify(s)
 12525  }
 12526  
 12527  // GoString returns the string representation.
 12528  //
 12529  // API parameter values that are decorated as "sensitive" in the API will not
 12530  // be included in the string output. The member name will be present, but the
 12531  // value will be replaced with "sensitive".
 12532  func (s GroundTruthManifest) GoString() string {
 12533  	return s.String()
 12534  }
 12535  
 12536  // Validate inspects the fields of the type to determine if they are valid.
 12537  func (s *GroundTruthManifest) Validate() error {
 12538  	invalidParams := request.ErrInvalidParams{Context: "GroundTruthManifest"}
 12539  	if s.S3Object != nil {
 12540  		if err := s.S3Object.Validate(); err != nil {
 12541  			invalidParams.AddNested("S3Object", err.(request.ErrInvalidParams))
 12542  		}
 12543  	}
 12544  
 12545  	if invalidParams.Len() > 0 {
 12546  		return invalidParams
 12547  	}
 12548  	return nil
 12549  }
 12550  
 12551  // SetS3Object sets the S3Object field's value.
 12552  func (s *GroundTruthManifest) SetS3Object(v *S3Object) *GroundTruthManifest {
 12553  	s.S3Object = v
 12554  	return s
 12555  }
 12556  
 12557  // Shows the results of the human in the loop evaluation. If there is no HumanLoopArn,
 12558  // the input did not trigger human review.
 12559  type HumanLoopActivationOutput struct {
 12560  	_ struct{} `type:"structure"`
 12561  
 12562  	// Shows the result of condition evaluations, including those conditions which
 12563  	// activated a human review.
 12564  	HumanLoopActivationConditionsEvaluationResults aws.JSONValue `type:"jsonvalue"`
 12565  
 12566  	// Shows if and why human review was needed.
 12567  	HumanLoopActivationReasons []*string `min:"1" type:"list"`
 12568  
 12569  	// The Amazon Resource Name (ARN) of the HumanLoop created.
 12570  	HumanLoopArn *string `type:"string"`
 12571  }
 12572  
 12573  // String returns the string representation.
 12574  //
 12575  // API parameter values that are decorated as "sensitive" in the API will not
 12576  // be included in the string output. The member name will be present, but the
 12577  // value will be replaced with "sensitive".
 12578  func (s HumanLoopActivationOutput) String() string {
 12579  	return awsutil.Prettify(s)
 12580  }
 12581  
 12582  // GoString returns the string representation.
 12583  //
 12584  // API parameter values that are decorated as "sensitive" in the API will not
 12585  // be included in the string output. The member name will be present, but the
 12586  // value will be replaced with "sensitive".
 12587  func (s HumanLoopActivationOutput) GoString() string {
 12588  	return s.String()
 12589  }
 12590  
 12591  // SetHumanLoopActivationConditionsEvaluationResults sets the HumanLoopActivationConditionsEvaluationResults field's value.
 12592  func (s *HumanLoopActivationOutput) SetHumanLoopActivationConditionsEvaluationResults(v aws.JSONValue) *HumanLoopActivationOutput {
 12593  	s.HumanLoopActivationConditionsEvaluationResults = v
 12594  	return s
 12595  }
 12596  
 12597  // SetHumanLoopActivationReasons sets the HumanLoopActivationReasons field's value.
 12598  func (s *HumanLoopActivationOutput) SetHumanLoopActivationReasons(v []*string) *HumanLoopActivationOutput {
 12599  	s.HumanLoopActivationReasons = v
 12600  	return s
 12601  }
 12602  
 12603  // SetHumanLoopArn sets the HumanLoopArn field's value.
 12604  func (s *HumanLoopActivationOutput) SetHumanLoopArn(v string) *HumanLoopActivationOutput {
 12605  	s.HumanLoopArn = &v
 12606  	return s
 12607  }
 12608  
 12609  // Sets up the flow definition the image will be sent to if one of the conditions
 12610  // is met. You can also set certain attributes of the image before review.
 12611  type HumanLoopConfig struct {
 12612  	_ struct{} `type:"structure"`
 12613  
 12614  	// Sets attributes of the input data.
 12615  	DataAttributes *HumanLoopDataAttributes `type:"structure"`
 12616  
 12617  	// The Amazon Resource Name (ARN) of the flow definition. You can create a flow
 12618  	// definition by using the Amazon Sagemaker CreateFlowDefinition (https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateFlowDefinition.html)
 12619  	// Operation.
 12620  	//
 12621  	// FlowDefinitionArn is a required field
 12622  	FlowDefinitionArn *string `type:"string" required:"true"`
 12623  
 12624  	// The name of the human review used for this image. This should be kept unique
 12625  	// within a region.
 12626  	//
 12627  	// HumanLoopName is a required field
 12628  	HumanLoopName *string `min:"1" type:"string" required:"true"`
 12629  }
 12630  
 12631  // String returns the string representation.
 12632  //
 12633  // API parameter values that are decorated as "sensitive" in the API will not
 12634  // be included in the string output. The member name will be present, but the
 12635  // value will be replaced with "sensitive".
 12636  func (s HumanLoopConfig) String() string {
 12637  	return awsutil.Prettify(s)
 12638  }
 12639  
 12640  // GoString returns the string representation.
 12641  //
 12642  // API parameter values that are decorated as "sensitive" in the API will not
 12643  // be included in the string output. The member name will be present, but the
 12644  // value will be replaced with "sensitive".
 12645  func (s HumanLoopConfig) GoString() string {
 12646  	return s.String()
 12647  }
 12648  
 12649  // Validate inspects the fields of the type to determine if they are valid.
 12650  func (s *HumanLoopConfig) Validate() error {
 12651  	invalidParams := request.ErrInvalidParams{Context: "HumanLoopConfig"}
 12652  	if s.FlowDefinitionArn == nil {
 12653  		invalidParams.Add(request.NewErrParamRequired("FlowDefinitionArn"))
 12654  	}
 12655  	if s.HumanLoopName == nil {
 12656  		invalidParams.Add(request.NewErrParamRequired("HumanLoopName"))
 12657  	}
 12658  	if s.HumanLoopName != nil && len(*s.HumanLoopName) < 1 {
 12659  		invalidParams.Add(request.NewErrParamMinLen("HumanLoopName", 1))
 12660  	}
 12661  
 12662  	if invalidParams.Len() > 0 {
 12663  		return invalidParams
 12664  	}
 12665  	return nil
 12666  }
 12667  
 12668  // SetDataAttributes sets the DataAttributes field's value.
 12669  func (s *HumanLoopConfig) SetDataAttributes(v *HumanLoopDataAttributes) *HumanLoopConfig {
 12670  	s.DataAttributes = v
 12671  	return s
 12672  }
 12673  
 12674  // SetFlowDefinitionArn sets the FlowDefinitionArn field's value.
 12675  func (s *HumanLoopConfig) SetFlowDefinitionArn(v string) *HumanLoopConfig {
 12676  	s.FlowDefinitionArn = &v
 12677  	return s
 12678  }
 12679  
 12680  // SetHumanLoopName sets the HumanLoopName field's value.
 12681  func (s *HumanLoopConfig) SetHumanLoopName(v string) *HumanLoopConfig {
 12682  	s.HumanLoopName = &v
 12683  	return s
 12684  }
 12685  
 12686  // Allows you to set attributes of the image. Currently, you can declare an
 12687  // image as free of personally identifiable information.
 12688  type HumanLoopDataAttributes struct {
 12689  	_ struct{} `type:"structure"`
 12690  
 12691  	// Sets whether the input image is free of personally identifiable information.
 12692  	ContentClassifiers []*string `type:"list"`
 12693  }
 12694  
 12695  // String returns the string representation.
 12696  //
 12697  // API parameter values that are decorated as "sensitive" in the API will not
 12698  // be included in the string output. The member name will be present, but the
 12699  // value will be replaced with "sensitive".
 12700  func (s HumanLoopDataAttributes) String() string {
 12701  	return awsutil.Prettify(s)
 12702  }
 12703  
 12704  // GoString returns the string representation.
 12705  //
 12706  // API parameter values that are decorated as "sensitive" in the API will not
 12707  // be included in the string output. The member name will be present, but the
 12708  // value will be replaced with "sensitive".
 12709  func (s HumanLoopDataAttributes) GoString() string {
 12710  	return s.String()
 12711  }
 12712  
 12713  // SetContentClassifiers sets the ContentClassifiers field's value.
 12714  func (s *HumanLoopDataAttributes) SetContentClassifiers(v []*string) *HumanLoopDataAttributes {
 12715  	s.ContentClassifiers = v
 12716  	return s
 12717  }
 12718  
 12719  // The number of in-progress human reviews you have has exceeded the number
 12720  // allowed.
 12721  type HumanLoopQuotaExceededException struct {
 12722  	_            struct{}                  `type:"structure"`
 12723  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12724  
 12725  	Message_ *string `locationName:"message" type:"string"`
 12726  
 12727  	// The quota code.
 12728  	QuotaCode *string `type:"string"`
 12729  
 12730  	// The resource type.
 12731  	ResourceType *string `type:"string"`
 12732  
 12733  	// The service code.
 12734  	ServiceCode *string `type:"string"`
 12735  }
 12736  
 12737  // String returns the string representation.
 12738  //
 12739  // API parameter values that are decorated as "sensitive" in the API will not
 12740  // be included in the string output. The member name will be present, but the
 12741  // value will be replaced with "sensitive".
 12742  func (s HumanLoopQuotaExceededException) String() string {
 12743  	return awsutil.Prettify(s)
 12744  }
 12745  
 12746  // GoString returns the string representation.
 12747  //
 12748  // API parameter values that are decorated as "sensitive" in the API will not
 12749  // be included in the string output. The member name will be present, but the
 12750  // value will be replaced with "sensitive".
 12751  func (s HumanLoopQuotaExceededException) GoString() string {
 12752  	return s.String()
 12753  }
 12754  
 12755  func newErrorHumanLoopQuotaExceededException(v protocol.ResponseMetadata) error {
 12756  	return &HumanLoopQuotaExceededException{
 12757  		RespMetadata: v,
 12758  	}
 12759  }
 12760  
 12761  // Code returns the exception type name.
 12762  func (s *HumanLoopQuotaExceededException) Code() string {
 12763  	return "HumanLoopQuotaExceededException"
 12764  }
 12765  
 12766  // Message returns the exception's message.
 12767  func (s *HumanLoopQuotaExceededException) Message() string {
 12768  	if s.Message_ != nil {
 12769  		return *s.Message_
 12770  	}
 12771  	return ""
 12772  }
 12773  
 12774  // OrigErr always returns nil, satisfies awserr.Error interface.
 12775  func (s *HumanLoopQuotaExceededException) OrigErr() error {
 12776  	return nil
 12777  }
 12778  
 12779  func (s *HumanLoopQuotaExceededException) Error() string {
 12780  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 12781  }
 12782  
 12783  // Status code returns the HTTP status code for the request's response error.
 12784  func (s *HumanLoopQuotaExceededException) StatusCode() int {
 12785  	return s.RespMetadata.StatusCode
 12786  }
 12787  
 12788  // RequestID returns the service's response RequestID for request.
 12789  func (s *HumanLoopQuotaExceededException) RequestID() string {
 12790  	return s.RespMetadata.RequestID
 12791  }
 12792  
 12793  // A ClientRequestToken input parameter was reused with an operation, but at
 12794  // least one of the other input parameters is different from the previous call
 12795  // to the operation.
 12796  type IdempotentParameterMismatchException struct {
 12797  	_            struct{}                  `type:"structure"`
 12798  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12799  
 12800  	Message_ *string `locationName:"message" type:"string"`
 12801  }
 12802  
 12803  // String returns the string representation.
 12804  //
 12805  // API parameter values that are decorated as "sensitive" in the API will not
 12806  // be included in the string output. The member name will be present, but the
 12807  // value will be replaced with "sensitive".
 12808  func (s IdempotentParameterMismatchException) String() string {
 12809  	return awsutil.Prettify(s)
 12810  }
 12811  
 12812  // GoString returns the string representation.
 12813  //
 12814  // API parameter values that are decorated as "sensitive" in the API will not
 12815  // be included in the string output. The member name will be present, but the
 12816  // value will be replaced with "sensitive".
 12817  func (s IdempotentParameterMismatchException) GoString() string {
 12818  	return s.String()
 12819  }
 12820  
 12821  func newErrorIdempotentParameterMismatchException(v protocol.ResponseMetadata) error {
 12822  	return &IdempotentParameterMismatchException{
 12823  		RespMetadata: v,
 12824  	}
 12825  }
 12826  
 12827  // Code returns the exception type name.
 12828  func (s *IdempotentParameterMismatchException) Code() string {
 12829  	return "IdempotentParameterMismatchException"
 12830  }
 12831  
 12832  // Message returns the exception's message.
 12833  func (s *IdempotentParameterMismatchException) Message() string {
 12834  	if s.Message_ != nil {
 12835  		return *s.Message_
 12836  	}
 12837  	return ""
 12838  }
 12839  
 12840  // OrigErr always returns nil, satisfies awserr.Error interface.
 12841  func (s *IdempotentParameterMismatchException) OrigErr() error {
 12842  	return nil
 12843  }
 12844  
 12845  func (s *IdempotentParameterMismatchException) Error() string {
 12846  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12847  }
 12848  
 12849  // Status code returns the HTTP status code for the request's response error.
 12850  func (s *IdempotentParameterMismatchException) StatusCode() int {
 12851  	return s.RespMetadata.StatusCode
 12852  }
 12853  
 12854  // RequestID returns the service's response RequestID for request.
 12855  func (s *IdempotentParameterMismatchException) RequestID() string {
 12856  	return s.RespMetadata.RequestID
 12857  }
 12858  
 12859  // Provides the input image either as bytes or an S3 object.
 12860  //
 12861  // You pass image bytes to an Amazon Rekognition API operation by using the
 12862  // Bytes property. For example, you would use the Bytes property to pass an
 12863  // image loaded from a local file system. Image bytes passed by using the Bytes
 12864  // property must be base64-encoded. Your code may not need to encode image bytes
 12865  // if you are using an AWS SDK to call Amazon Rekognition API operations.
 12866  //
 12867  // For more information, see Analyzing an Image Loaded from a Local File System
 12868  // in the Amazon Rekognition Developer Guide.
 12869  //
 12870  // You pass images stored in an S3 bucket to an Amazon Rekognition API operation
 12871  // by using the S3Object property. Images stored in an S3 bucket do not need
 12872  // to be base64-encoded.
 12873  //
 12874  // The region for the S3 bucket containing the S3 object must match the region
 12875  // you use for Amazon Rekognition operations.
 12876  //
 12877  // If you use the AWS CLI to call Amazon Rekognition operations, passing image
 12878  // bytes using the Bytes property is not supported. You must first upload the
 12879  // image to an Amazon S3 bucket and then call the operation using the S3Object
 12880  // property.
 12881  //
 12882  // For Amazon Rekognition to process an S3 object, the user must have permission
 12883  // to access the S3 object. For more information, see Resource Based Policies
 12884  // in the Amazon Rekognition Developer Guide.
 12885  type Image struct {
 12886  	_ struct{} `type:"structure"`
 12887  
 12888  	// Blob of image bytes up to 5 MBs.
 12889  	// Bytes is automatically base64 encoded/decoded by the SDK.
 12890  	Bytes []byte `min:"1" type:"blob"`
 12891  
 12892  	// Identifies an S3 object as the image source.
 12893  	S3Object *S3Object `type:"structure"`
 12894  }
 12895  
 12896  // String returns the string representation.
 12897  //
 12898  // API parameter values that are decorated as "sensitive" in the API will not
 12899  // be included in the string output. The member name will be present, but the
 12900  // value will be replaced with "sensitive".
 12901  func (s Image) String() string {
 12902  	return awsutil.Prettify(s)
 12903  }
 12904  
 12905  // GoString returns the string representation.
 12906  //
 12907  // API parameter values that are decorated as "sensitive" in the API will not
 12908  // be included in the string output. The member name will be present, but the
 12909  // value will be replaced with "sensitive".
 12910  func (s Image) GoString() string {
 12911  	return s.String()
 12912  }
 12913  
 12914  // Validate inspects the fields of the type to determine if they are valid.
 12915  func (s *Image) Validate() error {
 12916  	invalidParams := request.ErrInvalidParams{Context: "Image"}
 12917  	if s.Bytes != nil && len(s.Bytes) < 1 {
 12918  		invalidParams.Add(request.NewErrParamMinLen("Bytes", 1))
 12919  	}
 12920  	if s.S3Object != nil {
 12921  		if err := s.S3Object.Validate(); err != nil {
 12922  			invalidParams.AddNested("S3Object", err.(request.ErrInvalidParams))
 12923  		}
 12924  	}
 12925  
 12926  	if invalidParams.Len() > 0 {
 12927  		return invalidParams
 12928  	}
 12929  	return nil
 12930  }
 12931  
 12932  // SetBytes sets the Bytes field's value.
 12933  func (s *Image) SetBytes(v []byte) *Image {
 12934  	s.Bytes = v
 12935  	return s
 12936  }
 12937  
 12938  // SetS3Object sets the S3Object field's value.
 12939  func (s *Image) SetS3Object(v *S3Object) *Image {
 12940  	s.S3Object = v
 12941  	return s
 12942  }
 12943  
 12944  // Identifies face image brightness and sharpness.
 12945  type ImageQuality struct {
 12946  	_ struct{} `type:"structure"`
 12947  
 12948  	// Value representing brightness of the face. The service returns a value between
 12949  	// 0 and 100 (inclusive). A higher value indicates a brighter face image.
 12950  	Brightness *float64 `type:"float"`
 12951  
 12952  	// Value representing sharpness of the face. The service returns a value between
 12953  	// 0 and 100 (inclusive). A higher value indicates a sharper face image.
 12954  	Sharpness *float64 `type:"float"`
 12955  }
 12956  
 12957  // String returns the string representation.
 12958  //
 12959  // API parameter values that are decorated as "sensitive" in the API will not
 12960  // be included in the string output. The member name will be present, but the
 12961  // value will be replaced with "sensitive".
 12962  func (s ImageQuality) String() string {
 12963  	return awsutil.Prettify(s)
 12964  }
 12965  
 12966  // GoString returns the string representation.
 12967  //
 12968  // API parameter values that are decorated as "sensitive" in the API will not
 12969  // be included in the string output. The member name will be present, but the
 12970  // value will be replaced with "sensitive".
 12971  func (s ImageQuality) GoString() string {
 12972  	return s.String()
 12973  }
 12974  
 12975  // SetBrightness sets the Brightness field's value.
 12976  func (s *ImageQuality) SetBrightness(v float64) *ImageQuality {
 12977  	s.Brightness = &v
 12978  	return s
 12979  }
 12980  
 12981  // SetSharpness sets the Sharpness field's value.
 12982  func (s *ImageQuality) SetSharpness(v float64) *ImageQuality {
 12983  	s.Sharpness = &v
 12984  	return s
 12985  }
 12986  
 12987  // The input image size exceeds the allowed limit. If you are calling DetectProtectiveEquipment,
 12988  // the image size or resolution exceeds the allowed limit. For more information,
 12989  // see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
 12990  type ImageTooLargeException struct {
 12991  	_            struct{}                  `type:"structure"`
 12992  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12993  
 12994  	Message_ *string `locationName:"message" type:"string"`
 12995  }
 12996  
 12997  // String returns the string representation.
 12998  //
 12999  // API parameter values that are decorated as "sensitive" in the API will not
 13000  // be included in the string output. The member name will be present, but the
 13001  // value will be replaced with "sensitive".
 13002  func (s ImageTooLargeException) String() string {
 13003  	return awsutil.Prettify(s)
 13004  }
 13005  
 13006  // GoString returns the string representation.
 13007  //
 13008  // API parameter values that are decorated as "sensitive" in the API will not
 13009  // be included in the string output. The member name will be present, but the
 13010  // value will be replaced with "sensitive".
 13011  func (s ImageTooLargeException) GoString() string {
 13012  	return s.String()
 13013  }
 13014  
 13015  func newErrorImageTooLargeException(v protocol.ResponseMetadata) error {
 13016  	return &ImageTooLargeException{
 13017  		RespMetadata: v,
 13018  	}
 13019  }
 13020  
 13021  // Code returns the exception type name.
 13022  func (s *ImageTooLargeException) Code() string {
 13023  	return "ImageTooLargeException"
 13024  }
 13025  
 13026  // Message returns the exception's message.
 13027  func (s *ImageTooLargeException) Message() string {
 13028  	if s.Message_ != nil {
 13029  		return *s.Message_
 13030  	}
 13031  	return ""
 13032  }
 13033  
 13034  // OrigErr always returns nil, satisfies awserr.Error interface.
 13035  func (s *ImageTooLargeException) OrigErr() error {
 13036  	return nil
 13037  }
 13038  
 13039  func (s *ImageTooLargeException) Error() string {
 13040  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13041  }
 13042  
 13043  // Status code returns the HTTP status code for the request's response error.
 13044  func (s *ImageTooLargeException) StatusCode() int {
 13045  	return s.RespMetadata.StatusCode
 13046  }
 13047  
 13048  // RequestID returns the service's response RequestID for request.
 13049  func (s *ImageTooLargeException) RequestID() string {
 13050  	return s.RespMetadata.RequestID
 13051  }
 13052  
 13053  type IndexFacesInput struct {
 13054  	_ struct{} `type:"structure"`
 13055  
 13056  	// The ID of an existing collection to which you want to add the faces that
 13057  	// are detected in the input images.
 13058  	//
 13059  	// CollectionId is a required field
 13060  	CollectionId *string `min:"1" type:"string" required:"true"`
 13061  
 13062  	// An array of facial attributes that you want to be returned. This can be the
 13063  	// default list of attributes or all attributes. If you don't specify a value
 13064  	// for Attributes or if you specify ["DEFAULT"], the API returns the following
 13065  	// subset of facial attributes: BoundingBox, Confidence, Pose, Quality, and
 13066  	// Landmarks. If you provide ["ALL"], all facial attributes are returned, but
 13067  	// the operation takes longer to complete.
 13068  	//
 13069  	// If you provide both, ["ALL", "DEFAULT"], the service uses a logical AND operator
 13070  	// to determine which attributes to return (in this case, all attributes).
 13071  	DetectionAttributes []*string `type:"list"`
 13072  
 13073  	// The ID you want to assign to all the faces detected in the image.
 13074  	ExternalImageId *string `min:"1" type:"string"`
 13075  
 13076  	// The input image as base64-encoded bytes or an S3 object. If you use the AWS
 13077  	// CLI to call Amazon Rekognition operations, passing base64-encoded image bytes
 13078  	// isn't supported.
 13079  	//
 13080  	// If you are using an AWS SDK to call Amazon Rekognition, you might not need
 13081  	// to base64-encode image bytes passed using the Bytes field. For more information,
 13082  	// see Images in the Amazon Rekognition developer guide.
 13083  	//
 13084  	// Image is a required field
 13085  	Image *Image `type:"structure" required:"true"`
 13086  
 13087  	// The maximum number of faces to index. The value of MaxFaces must be greater
 13088  	// than or equal to 1. IndexFaces returns no more than 100 detected faces in
 13089  	// an image, even if you specify a larger value for MaxFaces.
 13090  	//
 13091  	// If IndexFaces detects more faces than the value of MaxFaces, the faces with
 13092  	// the lowest quality are filtered out first. If there are still more faces
 13093  	// than the value of MaxFaces, the faces with the smallest bounding boxes are
 13094  	// filtered out (up to the number that's needed to satisfy the value of MaxFaces).
 13095  	// Information about the unindexed faces is available in the UnindexedFaces
 13096  	// array.
 13097  	//
 13098  	// The faces that are returned by IndexFaces are sorted by the largest face
 13099  	// bounding box size to the smallest size, in descending order.
 13100  	//
 13101  	// MaxFaces can be used with a collection associated with any version of the
 13102  	// face model.
 13103  	MaxFaces *int64 `min:"1" type:"integer"`
 13104  
 13105  	// A filter that specifies a quality bar for how much filtering is done to identify
 13106  	// faces. Filtered faces aren't indexed. If you specify AUTO, Amazon Rekognition
 13107  	// chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes
 13108  	// all faces that don’t meet the chosen quality bar. The default value is
 13109  	// AUTO. The quality bar is based on a variety of common use cases. Low-quality
 13110  	// detections can occur for a number of reasons. Some examples are an object
 13111  	// that's misidentified as a face, a face that's too blurry, or a face with
 13112  	// a pose that's too extreme to use. If you specify NONE, no filtering is performed.
 13113  	//
 13114  	// To use quality filtering, the collection you are using must be associated
 13115  	// with version 3 of the face model or higher.
 13116  	QualityFilter *string `type:"string" enum:"QualityFilter"`
 13117  }
 13118  
 13119  // String returns the string representation.
 13120  //
 13121  // API parameter values that are decorated as "sensitive" in the API will not
 13122  // be included in the string output. The member name will be present, but the
 13123  // value will be replaced with "sensitive".
 13124  func (s IndexFacesInput) String() string {
 13125  	return awsutil.Prettify(s)
 13126  }
 13127  
 13128  // GoString returns the string representation.
 13129  //
 13130  // API parameter values that are decorated as "sensitive" in the API will not
 13131  // be included in the string output. The member name will be present, but the
 13132  // value will be replaced with "sensitive".
 13133  func (s IndexFacesInput) GoString() string {
 13134  	return s.String()
 13135  }
 13136  
 13137  // Validate inspects the fields of the type to determine if they are valid.
 13138  func (s *IndexFacesInput) Validate() error {
 13139  	invalidParams := request.ErrInvalidParams{Context: "IndexFacesInput"}
 13140  	if s.CollectionId == nil {
 13141  		invalidParams.Add(request.NewErrParamRequired("CollectionId"))
 13142  	}
 13143  	if s.CollectionId != nil && len(*s.CollectionId) < 1 {
 13144  		invalidParams.Add(request.NewErrParamMinLen("CollectionId", 1))
 13145  	}
 13146  	if s.ExternalImageId != nil && len(*s.ExternalImageId) < 1 {
 13147  		invalidParams.Add(request.NewErrParamMinLen("ExternalImageId", 1))
 13148  	}
 13149  	if s.Image == nil {
 13150  		invalidParams.Add(request.NewErrParamRequired("Image"))
 13151  	}
 13152  	if s.MaxFaces != nil && *s.MaxFaces < 1 {
 13153  		invalidParams.Add(request.NewErrParamMinValue("MaxFaces", 1))
 13154  	}
 13155  	if s.Image != nil {
 13156  		if err := s.Image.Validate(); err != nil {
 13157  			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
 13158  		}
 13159  	}
 13160  
 13161  	if invalidParams.Len() > 0 {
 13162  		return invalidParams
 13163  	}
 13164  	return nil
 13165  }
 13166  
 13167  // SetCollectionId sets the CollectionId field's value.
 13168  func (s *IndexFacesInput) SetCollectionId(v string) *IndexFacesInput {
 13169  	s.CollectionId = &v
 13170  	return s
 13171  }
 13172  
 13173  // SetDetectionAttributes sets the DetectionAttributes field's value.
 13174  func (s *IndexFacesInput) SetDetectionAttributes(v []*string) *IndexFacesInput {
 13175  	s.DetectionAttributes = v
 13176  	return s
 13177  }
 13178  
 13179  // SetExternalImageId sets the ExternalImageId field's value.
 13180  func (s *IndexFacesInput) SetExternalImageId(v string) *IndexFacesInput {
 13181  	s.ExternalImageId = &v
 13182  	return s
 13183  }
 13184  
 13185  // SetImage sets the Image field's value.
 13186  func (s *IndexFacesInput) SetImage(v *Image) *IndexFacesInput {
 13187  	s.Image = v
 13188  	return s
 13189  }
 13190  
 13191  // SetMaxFaces sets the MaxFaces field's value.
 13192  func (s *IndexFacesInput) SetMaxFaces(v int64) *IndexFacesInput {
 13193  	s.MaxFaces = &v
 13194  	return s
 13195  }
 13196  
 13197  // SetQualityFilter sets the QualityFilter field's value.
 13198  func (s *IndexFacesInput) SetQualityFilter(v string) *IndexFacesInput {
 13199  	s.QualityFilter = &v
 13200  	return s
 13201  }
 13202  
 13203  type IndexFacesOutput struct {
 13204  	_ struct{} `type:"structure"`
 13205  
 13206  	// The version number of the face detection model that's associated with the
 13207  	// input collection (CollectionId).
 13208  	FaceModelVersion *string `type:"string"`
 13209  
 13210  	// An array of faces detected and added to the collection. For more information,
 13211  	// see Searching Faces in a Collection in the Amazon Rekognition Developer Guide.
 13212  	FaceRecords []*FaceRecord `type:"list"`
 13213  
 13214  	// If your collection is associated with a face detection model that's later
 13215  	// than version 3.0, the value of OrientationCorrection is always null and no
 13216  	// orientation information is returned.
 13217  	//
 13218  	// If your collection is associated with a face detection model that's version
 13219  	// 3.0 or earlier, the following applies:
 13220  	//
 13221  	//    * If the input image is in .jpeg format, it might contain exchangeable
 13222  	//    image file format (Exif) metadata that includes the image's orientation.
 13223  	//    Amazon Rekognition uses this orientation information to perform image
 13224  	//    correction - the bounding box coordinates are translated to represent
 13225  	//    object locations after the orientation information in the Exif metadata
 13226  	//    is used to correct the image orientation. Images in .png format don't
 13227  	//    contain Exif metadata. The value of OrientationCorrection is null.
 13228  	//
 13229  	//    * If the image doesn't contain orientation information in its Exif metadata,
 13230  	//    Amazon Rekognition returns an estimated orientation (ROTATE_0, ROTATE_90,
 13231  	//    ROTATE_180, ROTATE_270). Amazon Rekognition doesn’t perform image correction
 13232  	//    for images. The bounding box coordinates aren't translated and represent
 13233  	//    the object locations before the image is rotated.
 13234  	//
 13235  	// Bounding box information is returned in the FaceRecords array. You can get
 13236  	// the version of the face detection model by calling DescribeCollection.
 13237  	OrientationCorrection *string `type:"string" enum:"OrientationCorrection"`
 13238  
 13239  	// An array of faces that were detected in the image but weren't indexed. They
 13240  	// weren't indexed because the quality filter identified them as low quality,
 13241  	// or the MaxFaces request parameter filtered them out. To use the quality filter,
 13242  	// you specify the QualityFilter request parameter.
 13243  	UnindexedFaces []*UnindexedFace `type:"list"`
 13244  }
 13245  
 13246  // String returns the string representation.
 13247  //
 13248  // API parameter values that are decorated as "sensitive" in the API will not
 13249  // be included in the string output. The member name will be present, but the
 13250  // value will be replaced with "sensitive".
 13251  func (s IndexFacesOutput) String() string {
 13252  	return awsutil.Prettify(s)
 13253  }
 13254  
 13255  // GoString returns the string representation.
 13256  //
 13257  // API parameter values that are decorated as "sensitive" in the API will not
 13258  // be included in the string output. The member name will be present, but the
 13259  // value will be replaced with "sensitive".
 13260  func (s IndexFacesOutput) GoString() string {
 13261  	return s.String()
 13262  }
 13263  
 13264  // SetFaceModelVersion sets the FaceModelVersion field's value.
 13265  func (s *IndexFacesOutput) SetFaceModelVersion(v string) *IndexFacesOutput {
 13266  	s.FaceModelVersion = &v
 13267  	return s
 13268  }
 13269  
 13270  // SetFaceRecords sets the FaceRecords field's value.
 13271  func (s *IndexFacesOutput) SetFaceRecords(v []*FaceRecord) *IndexFacesOutput {
 13272  	s.FaceRecords = v
 13273  	return s
 13274  }
 13275  
 13276  // SetOrientationCorrection sets the OrientationCorrection field's value.
 13277  func (s *IndexFacesOutput) SetOrientationCorrection(v string) *IndexFacesOutput {
 13278  	s.OrientationCorrection = &v
 13279  	return s
 13280  }
 13281  
 13282  // SetUnindexedFaces sets the UnindexedFaces field's value.
 13283  func (s *IndexFacesOutput) SetUnindexedFaces(v []*UnindexedFace) *IndexFacesOutput {
 13284  	s.UnindexedFaces = v
 13285  	return s
 13286  }
 13287  
 13288  // An instance of a label returned by Amazon Rekognition Image (DetectLabels)
 13289  // or by Amazon Rekognition Video (GetLabelDetection).
 13290  type Instance struct {
 13291  	_ struct{} `type:"structure"`
 13292  
 13293  	// The position of the label instance on the image.
 13294  	BoundingBox *BoundingBox `type:"structure"`
 13295  
 13296  	// The confidence that Amazon Rekognition has in the accuracy of the bounding
 13297  	// box.
 13298  	Confidence *float64 `type:"float"`
 13299  }
 13300  
 13301  // String returns the string representation.
 13302  //
 13303  // API parameter values that are decorated as "sensitive" in the API will not
 13304  // be included in the string output. The member name will be present, but the
 13305  // value will be replaced with "sensitive".
 13306  func (s Instance) String() string {
 13307  	return awsutil.Prettify(s)
 13308  }
 13309  
 13310  // GoString returns the string representation.
 13311  //
 13312  // API parameter values that are decorated as "sensitive" in the API will not
 13313  // be included in the string output. The member name will be present, but the
 13314  // value will be replaced with "sensitive".
 13315  func (s Instance) GoString() string {
 13316  	return s.String()
 13317  }
 13318  
 13319  // SetBoundingBox sets the BoundingBox field's value.
 13320  func (s *Instance) SetBoundingBox(v *BoundingBox) *Instance {
 13321  	s.BoundingBox = v
 13322  	return s
 13323  }
 13324  
 13325  // SetConfidence sets the Confidence field's value.
 13326  func (s *Instance) SetConfidence(v float64) *Instance {
 13327  	s.Confidence = &v
 13328  	return s
 13329  }
 13330  
 13331  // Amazon Rekognition experienced a service issue. Try your call again.
 13332  type InternalServerError struct {
 13333  	_            struct{}                  `type:"structure"`
 13334  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13335  
 13336  	Message_ *string `locationName:"message" type:"string"`
 13337  }
 13338  
 13339  // String returns the string representation.
 13340  //
 13341  // API parameter values that are decorated as "sensitive" in the API will not
 13342  // be included in the string output. The member name will be present, but the
 13343  // value will be replaced with "sensitive".
 13344  func (s InternalServerError) String() string {
 13345  	return awsutil.Prettify(s)
 13346  }
 13347  
 13348  // GoString returns the string representation.
 13349  //
 13350  // API parameter values that are decorated as "sensitive" in the API will not
 13351  // be included in the string output. The member name will be present, but the
 13352  // value will be replaced with "sensitive".
 13353  func (s InternalServerError) GoString() string {
 13354  	return s.String()
 13355  }
 13356  
 13357  func newErrorInternalServerError(v protocol.ResponseMetadata) error {
 13358  	return &InternalServerError{
 13359  		RespMetadata: v,
 13360  	}
 13361  }
 13362  
 13363  // Code returns the exception type name.
 13364  func (s *InternalServerError) Code() string {
 13365  	return "InternalServerError"
 13366  }
 13367  
 13368  // Message returns the exception's message.
 13369  func (s *InternalServerError) Message() string {
 13370  	if s.Message_ != nil {
 13371  		return *s.Message_
 13372  	}
 13373  	return ""
 13374  }
 13375  
 13376  // OrigErr always returns nil, satisfies awserr.Error interface.
 13377  func (s *InternalServerError) OrigErr() error {
 13378  	return nil
 13379  }
 13380  
 13381  func (s *InternalServerError) Error() string {
 13382  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13383  }
 13384  
 13385  // Status code returns the HTTP status code for the request's response error.
 13386  func (s *InternalServerError) StatusCode() int {
 13387  	return s.RespMetadata.StatusCode
 13388  }
 13389  
 13390  // RequestID returns the service's response RequestID for request.
 13391  func (s *InternalServerError) RequestID() string {
 13392  	return s.RespMetadata.RequestID
 13393  }
 13394  
 13395  // The provided image format is not supported.
 13396  type InvalidImageFormatException struct {
 13397  	_            struct{}                  `type:"structure"`
 13398  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13399  
 13400  	Message_ *string `locationName:"message" type:"string"`
 13401  }
 13402  
 13403  // String returns the string representation.
 13404  //
 13405  // API parameter values that are decorated as "sensitive" in the API will not
 13406  // be included in the string output. The member name will be present, but the
 13407  // value will be replaced with "sensitive".
 13408  func (s InvalidImageFormatException) String() string {
 13409  	return awsutil.Prettify(s)
 13410  }
 13411  
 13412  // GoString returns the string representation.
 13413  //
 13414  // API parameter values that are decorated as "sensitive" in the API will not
 13415  // be included in the string output. The member name will be present, but the
 13416  // value will be replaced with "sensitive".
 13417  func (s InvalidImageFormatException) GoString() string {
 13418  	return s.String()
 13419  }
 13420  
 13421  func newErrorInvalidImageFormatException(v protocol.ResponseMetadata) error {
 13422  	return &InvalidImageFormatException{
 13423  		RespMetadata: v,
 13424  	}
 13425  }
 13426  
 13427  // Code returns the exception type name.
 13428  func (s *InvalidImageFormatException) Code() string {
 13429  	return "InvalidImageFormatException"
 13430  }
 13431  
 13432  // Message returns the exception's message.
 13433  func (s *InvalidImageFormatException) Message() string {
 13434  	if s.Message_ != nil {
 13435  		return *s.Message_
 13436  	}
 13437  	return ""
 13438  }
 13439  
 13440  // OrigErr always returns nil, satisfies awserr.Error interface.
 13441  func (s *InvalidImageFormatException) OrigErr() error {
 13442  	return nil
 13443  }
 13444  
 13445  func (s *InvalidImageFormatException) Error() string {
 13446  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13447  }
 13448  
 13449  // Status code returns the HTTP status code for the request's response error.
 13450  func (s *InvalidImageFormatException) StatusCode() int {
 13451  	return s.RespMetadata.StatusCode
 13452  }
 13453  
 13454  // RequestID returns the service's response RequestID for request.
 13455  func (s *InvalidImageFormatException) RequestID() string {
 13456  	return s.RespMetadata.RequestID
 13457  }
 13458  
 13459  // Pagination token in the request is not valid.
 13460  type InvalidPaginationTokenException struct {
 13461  	_            struct{}                  `type:"structure"`
 13462  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13463  
 13464  	Message_ *string `locationName:"message" type:"string"`
 13465  }
 13466  
 13467  // String returns the string representation.
 13468  //
 13469  // API parameter values that are decorated as "sensitive" in the API will not
 13470  // be included in the string output. The member name will be present, but the
 13471  // value will be replaced with "sensitive".
 13472  func (s InvalidPaginationTokenException) String() string {
 13473  	return awsutil.Prettify(s)
 13474  }
 13475  
 13476  // GoString returns the string representation.
 13477  //
 13478  // API parameter values that are decorated as "sensitive" in the API will not
 13479  // be included in the string output. The member name will be present, but the
 13480  // value will be replaced with "sensitive".
 13481  func (s InvalidPaginationTokenException) GoString() string {
 13482  	return s.String()
 13483  }
 13484  
 13485  func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error {
 13486  	return &InvalidPaginationTokenException{
 13487  		RespMetadata: v,
 13488  	}
 13489  }
 13490  
 13491  // Code returns the exception type name.
 13492  func (s *InvalidPaginationTokenException) Code() string {
 13493  	return "InvalidPaginationTokenException"
 13494  }
 13495  
 13496  // Message returns the exception's message.
 13497  func (s *InvalidPaginationTokenException) Message() string {
 13498  	if s.Message_ != nil {
 13499  		return *s.Message_
 13500  	}
 13501  	return ""
 13502  }
 13503  
 13504  // OrigErr always returns nil, satisfies awserr.Error interface.
 13505  func (s *InvalidPaginationTokenException) OrigErr() error {
 13506  	return nil
 13507  }
 13508  
 13509  func (s *InvalidPaginationTokenException) Error() string {
 13510  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13511  }
 13512  
 13513  // Status code returns the HTTP status code for the request's response error.
 13514  func (s *InvalidPaginationTokenException) StatusCode() int {
 13515  	return s.RespMetadata.StatusCode
 13516  }
 13517  
 13518  // RequestID returns the service's response RequestID for request.
 13519  func (s *InvalidPaginationTokenException) RequestID() string {
 13520  	return s.RespMetadata.RequestID
 13521  }
 13522  
 13523  // Input parameter violated a constraint. Validate your parameter before calling
 13524  // the API operation again.
 13525  type InvalidParameterException struct {
 13526  	_            struct{}                  `type:"structure"`
 13527  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13528  
 13529  	Message_ *string `locationName:"message" type:"string"`
 13530  }
 13531  
 13532  // String returns the string representation.
 13533  //
 13534  // API parameter values that are decorated as "sensitive" in the API will not
 13535  // be included in the string output. The member name will be present, but the
 13536  // value will be replaced with "sensitive".
 13537  func (s InvalidParameterException) String() string {
 13538  	return awsutil.Prettify(s)
 13539  }
 13540  
 13541  // GoString returns the string representation.
 13542  //
 13543  // API parameter values that are decorated as "sensitive" in the API will not
 13544  // be included in the string output. The member name will be present, but the
 13545  // value will be replaced with "sensitive".
 13546  func (s InvalidParameterException) GoString() string {
 13547  	return s.String()
 13548  }
 13549  
 13550  func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
 13551  	return &InvalidParameterException{
 13552  		RespMetadata: v,
 13553  	}
 13554  }
 13555  
 13556  // Code returns the exception type name.
 13557  func (s *InvalidParameterException) Code() string {
 13558  	return "InvalidParameterException"
 13559  }
 13560  
 13561  // Message returns the exception's message.
 13562  func (s *InvalidParameterException) Message() string {
 13563  	if s.Message_ != nil {
 13564  		return *s.Message_
 13565  	}
 13566  	return ""
 13567  }
 13568  
 13569  // OrigErr always returns nil, satisfies awserr.Error interface.
 13570  func (s *InvalidParameterException) OrigErr() error {
 13571  	return nil
 13572  }
 13573  
 13574  func (s *InvalidParameterException) Error() string {
 13575  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13576  }
 13577  
 13578  // Status code returns the HTTP status code for the request's response error.
 13579  func (s *InvalidParameterException) StatusCode() int {
 13580  	return s.RespMetadata.StatusCode
 13581  }
 13582  
 13583  // RequestID returns the service's response RequestID for request.
 13584  func (s *InvalidParameterException) RequestID() string {
 13585  	return s.RespMetadata.RequestID
 13586  }
 13587  
 13588  // Amazon Rekognition is unable to access the S3 object specified in the request.
 13589  type InvalidS3ObjectException struct {
 13590  	_            struct{}                  `type:"structure"`
 13591  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13592  
 13593  	Message_ *string `locationName:"message" type:"string"`
 13594  }
 13595  
 13596  // String returns the string representation.
 13597  //
 13598  // API parameter values that are decorated as "sensitive" in the API will not
 13599  // be included in the string output. The member name will be present, but the
 13600  // value will be replaced with "sensitive".
 13601  func (s InvalidS3ObjectException) String() string {
 13602  	return awsutil.Prettify(s)
 13603  }
 13604  
 13605  // GoString returns the string representation.
 13606  //
 13607  // API parameter values that are decorated as "sensitive" in the API will not
 13608  // be included in the string output. The member name will be present, but the
 13609  // value will be replaced with "sensitive".
 13610  func (s InvalidS3ObjectException) GoString() string {
 13611  	return s.String()
 13612  }
 13613  
 13614  func newErrorInvalidS3ObjectException(v protocol.ResponseMetadata) error {
 13615  	return &InvalidS3ObjectException{
 13616  		RespMetadata: v,
 13617  	}
 13618  }
 13619  
 13620  // Code returns the exception type name.
 13621  func (s *InvalidS3ObjectException) Code() string {
 13622  	return "InvalidS3ObjectException"
 13623  }
 13624  
 13625  // Message returns the exception's message.
 13626  func (s *InvalidS3ObjectException) Message() string {
 13627  	if s.Message_ != nil {
 13628  		return *s.Message_
 13629  	}
 13630  	return ""
 13631  }
 13632  
 13633  // OrigErr always returns nil, satisfies awserr.Error interface.
 13634  func (s *InvalidS3ObjectException) OrigErr() error {
 13635  	return nil
 13636  }
 13637  
 13638  func (s *InvalidS3ObjectException) Error() string {
 13639  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13640  }
 13641  
 13642  // Status code returns the HTTP status code for the request's response error.
 13643  func (s *InvalidS3ObjectException) StatusCode() int {
 13644  	return s.RespMetadata.StatusCode
 13645  }
 13646  
 13647  // RequestID returns the service's response RequestID for request.
 13648  func (s *InvalidS3ObjectException) RequestID() string {
 13649  	return s.RespMetadata.RequestID
 13650  }
 13651  
 13652  // The Kinesis data stream Amazon Rekognition to which the analysis results
 13653  // of a Amazon Rekognition stream processor are streamed. For more information,
 13654  // see CreateStreamProcessor in the Amazon Rekognition Developer Guide.
 13655  type KinesisDataStream struct {
 13656  	_ struct{} `type:"structure"`
 13657  
 13658  	// ARN of the output Amazon Kinesis Data Streams stream.
 13659  	Arn *string `type:"string"`
 13660  }
 13661  
 13662  // String returns the string representation.
 13663  //
 13664  // API parameter values that are decorated as "sensitive" in the API will not
 13665  // be included in the string output. The member name will be present, but the
 13666  // value will be replaced with "sensitive".
 13667  func (s KinesisDataStream) String() string {
 13668  	return awsutil.Prettify(s)
 13669  }
 13670  
 13671  // GoString returns the string representation.
 13672  //
 13673  // API parameter values that are decorated as "sensitive" in the API will not
 13674  // be included in the string output. The member name will be present, but the
 13675  // value will be replaced with "sensitive".
 13676  func (s KinesisDataStream) GoString() string {
 13677  	return s.String()
 13678  }
 13679  
 13680  // SetArn sets the Arn field's value.
 13681  func (s *KinesisDataStream) SetArn(v string) *KinesisDataStream {
 13682  	s.Arn = &v
 13683  	return s
 13684  }
 13685  
 13686  // Kinesis video stream stream that provides the source streaming video for
 13687  // a Amazon Rekognition Video stream processor. For more information, see CreateStreamProcessor
 13688  // in the Amazon Rekognition Developer Guide.
 13689  type KinesisVideoStream struct {
 13690  	_ struct{} `type:"structure"`
 13691  
 13692  	// ARN of the Kinesis video stream stream that streams the source video.
 13693  	Arn *string `type:"string"`
 13694  }
 13695  
 13696  // String returns the string representation.
 13697  //
 13698  // API parameter values that are decorated as "sensitive" in the API will not
 13699  // be included in the string output. The member name will be present, but the
 13700  // value will be replaced with "sensitive".
 13701  func (s KinesisVideoStream) String() string {
 13702  	return awsutil.Prettify(s)
 13703  }
 13704  
 13705  // GoString returns the string representation.
 13706  //
 13707  // API parameter values that are decorated as "sensitive" in the API will not
 13708  // be included in the string output. The member name will be present, but the
 13709  // value will be replaced with "sensitive".
 13710  func (s KinesisVideoStream) GoString() string {
 13711  	return s.String()
 13712  }
 13713  
 13714  // SetArn sets the Arn field's value.
 13715  func (s *KinesisVideoStream) SetArn(v string) *KinesisVideoStream {
 13716  	s.Arn = &v
 13717  	return s
 13718  }
 13719  
 13720  // The known gender identity for the celebrity that matches the provided ID.
 13721  type KnownGender struct {
 13722  	_ struct{} `type:"structure"`
 13723  
 13724  	// A string value of the KnownGender info about the Celebrity.
 13725  	Type *string `type:"string" enum:"KnownGenderType"`
 13726  }
 13727  
 13728  // String returns the string representation.
 13729  //
 13730  // API parameter values that are decorated as "sensitive" in the API will not
 13731  // be included in the string output. The member name will be present, but the
 13732  // value will be replaced with "sensitive".
 13733  func (s KnownGender) String() string {
 13734  	return awsutil.Prettify(s)
 13735  }
 13736  
 13737  // GoString returns the string representation.
 13738  //
 13739  // API parameter values that are decorated as "sensitive" in the API will not
 13740  // be included in the string output. The member name will be present, but the
 13741  // value will be replaced with "sensitive".
 13742  func (s KnownGender) GoString() string {
 13743  	return s.String()
 13744  }
 13745  
 13746  // SetType sets the Type field's value.
 13747  func (s *KnownGender) SetType(v string) *KnownGender {
 13748  	s.Type = &v
 13749  	return s
 13750  }
 13751  
 13752  // Structure containing details about the detected label, including the name,
 13753  // detected instances, parent labels, and level of confidence.
 13754  type Label struct {
 13755  	_ struct{} `type:"structure"`
 13756  
 13757  	// Level of confidence.
 13758  	Confidence *float64 `type:"float"`
 13759  
 13760  	// If Label represents an object, Instances contains the bounding boxes for
 13761  	// each instance of the detected object. Bounding boxes are returned for common
 13762  	// object labels such as people, cars, furniture, apparel or pets.
 13763  	Instances []*Instance `type:"list"`
 13764  
 13765  	// The name (label) of the object or scene.
 13766  	Name *string `type:"string"`
 13767  
 13768  	// The parent labels for a label. The response includes all ancestor labels.
 13769  	Parents []*Parent `type:"list"`
 13770  }
 13771  
 13772  // String returns the string representation.
 13773  //
 13774  // API parameter values that are decorated as "sensitive" in the API will not
 13775  // be included in the string output. The member name will be present, but the
 13776  // value will be replaced with "sensitive".
 13777  func (s Label) String() string {
 13778  	return awsutil.Prettify(s)
 13779  }
 13780  
 13781  // GoString returns the string representation.
 13782  //
 13783  // API parameter values that are decorated as "sensitive" in the API will not
 13784  // be included in the string output. The member name will be present, but the
 13785  // value will be replaced with "sensitive".
 13786  func (s Label) GoString() string {
 13787  	return s.String()
 13788  }
 13789  
 13790  // SetConfidence sets the Confidence field's value.
 13791  func (s *Label) SetConfidence(v float64) *Label {
 13792  	s.Confidence = &v
 13793  	return s
 13794  }
 13795  
 13796  // SetInstances sets the Instances field's value.
 13797  func (s *Label) SetInstances(v []*Instance) *Label {
 13798  	s.Instances = v
 13799  	return s
 13800  }
 13801  
 13802  // SetName sets the Name field's value.
 13803  func (s *Label) SetName(v string) *Label {
 13804  	s.Name = &v
 13805  	return s
 13806  }
 13807  
 13808  // SetParents sets the Parents field's value.
 13809  func (s *Label) SetParents(v []*Parent) *Label {
 13810  	s.Parents = v
 13811  	return s
 13812  }
 13813  
 13814  // Information about a label detected in a video analysis request and the time
 13815  // the label was detected in the video.
 13816  type LabelDetection struct {
 13817  	_ struct{} `type:"structure"`
 13818  
 13819  	// Details about the detected label.
 13820  	Label *Label `type:"structure"`
 13821  
 13822  	// Time, in milliseconds from the start of the video, that the label was detected.
 13823  	Timestamp *int64 `type:"long"`
 13824  }
 13825  
 13826  // String returns the string representation.
 13827  //
 13828  // API parameter values that are decorated as "sensitive" in the API will not
 13829  // be included in the string output. The member name will be present, but the
 13830  // value will be replaced with "sensitive".
 13831  func (s LabelDetection) String() string {
 13832  	return awsutil.Prettify(s)
 13833  }
 13834  
 13835  // GoString returns the string representation.
 13836  //
 13837  // API parameter values that are decorated as "sensitive" in the API will not
 13838  // be included in the string output. The member name will be present, but the
 13839  // value will be replaced with "sensitive".
 13840  func (s LabelDetection) GoString() string {
 13841  	return s.String()
 13842  }
 13843  
 13844  // SetLabel sets the Label field's value.
 13845  func (s *LabelDetection) SetLabel(v *Label) *LabelDetection {
 13846  	s.Label = v
 13847  	return s
 13848  }
 13849  
 13850  // SetTimestamp sets the Timestamp field's value.
 13851  func (s *LabelDetection) SetTimestamp(v int64) *LabelDetection {
 13852  	s.Timestamp = &v
 13853  	return s
 13854  }
 13855  
 13856  // Indicates the location of the landmark on the face.
 13857  type Landmark struct {
 13858  	_ struct{} `type:"structure"`
 13859  
 13860  	// Type of landmark.
 13861  	Type *string `type:"string" enum:"LandmarkType"`
 13862  
 13863  	// The x-coordinate of the landmark expressed as a ratio of the width of the
 13864  	// image. The x-coordinate is measured from the left-side of the image. For
 13865  	// example, if the image is 700 pixels wide and the x-coordinate of the landmark
 13866  	// is at 350 pixels, this value is 0.5.
 13867  	X *float64 `type:"float"`
 13868  
 13869  	// The y-coordinate of the landmark expressed as a ratio of the height of the
 13870  	// image. The y-coordinate is measured from the top of the image. For example,
 13871  	// if the image height is 200 pixels and the y-coordinate of the landmark is
 13872  	// at 50 pixels, this value is 0.25.
 13873  	Y *float64 `type:"float"`
 13874  }
 13875  
 13876  // String returns the string representation.
 13877  //
 13878  // API parameter values that are decorated as "sensitive" in the API will not
 13879  // be included in the string output. The member name will be present, but the
 13880  // value will be replaced with "sensitive".
 13881  func (s Landmark) String() string {
 13882  	return awsutil.Prettify(s)
 13883  }
 13884  
 13885  // GoString returns the string representation.
 13886  //
 13887  // API parameter values that are decorated as "sensitive" in the API will not
 13888  // be included in the string output. The member name will be present, but the
 13889  // value will be replaced with "sensitive".
 13890  func (s Landmark) GoString() string {
 13891  	return s.String()
 13892  }
 13893  
 13894  // SetType sets the Type field's value.
 13895  func (s *Landmark) SetType(v string) *Landmark {
 13896  	s.Type = &v
 13897  	return s
 13898  }
 13899  
 13900  // SetX sets the X field's value.
 13901  func (s *Landmark) SetX(v float64) *Landmark {
 13902  	s.X = &v
 13903  	return s
 13904  }
 13905  
 13906  // SetY sets the Y field's value.
 13907  func (s *Landmark) SetY(v float64) *Landmark {
 13908  	s.Y = &v
 13909  	return s
 13910  }
 13911  
 13912  // An Amazon Rekognition service limit was exceeded. For example, if you start
 13913  // too many Amazon Rekognition Video jobs concurrently, calls to start operations
 13914  // (StartLabelDetection, for example) will raise a LimitExceededException exception
 13915  // (HTTP status code: 400) until the number of concurrently running jobs is
 13916  // below the Amazon Rekognition service limit.
 13917  type LimitExceededException struct {
 13918  	_            struct{}                  `type:"structure"`
 13919  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13920  
 13921  	Message_ *string `locationName:"message" type:"string"`
 13922  }
 13923  
 13924  // String returns the string representation.
 13925  //
 13926  // API parameter values that are decorated as "sensitive" in the API will not
 13927  // be included in the string output. The member name will be present, but the
 13928  // value will be replaced with "sensitive".
 13929  func (s LimitExceededException) String() string {
 13930  	return awsutil.Prettify(s)
 13931  }
 13932  
 13933  // GoString returns the string representation.
 13934  //
 13935  // API parameter values that are decorated as "sensitive" in the API will not
 13936  // be included in the string output. The member name will be present, but the
 13937  // value will be replaced with "sensitive".
 13938  func (s LimitExceededException) GoString() string {
 13939  	return s.String()
 13940  }
 13941  
 13942  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 13943  	return &LimitExceededException{
 13944  		RespMetadata: v,
 13945  	}
 13946  }
 13947  
 13948  // Code returns the exception type name.
 13949  func (s *LimitExceededException) Code() string {
 13950  	return "LimitExceededException"
 13951  }
 13952  
 13953  // Message returns the exception's message.
 13954  func (s *LimitExceededException) Message() string {
 13955  	if s.Message_ != nil {
 13956  		return *s.Message_
 13957  	}
 13958  	return ""
 13959  }
 13960  
 13961  // OrigErr always returns nil, satisfies awserr.Error interface.
 13962  func (s *LimitExceededException) OrigErr() error {
 13963  	return nil
 13964  }
 13965  
 13966  func (s *LimitExceededException) Error() string {
 13967  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13968  }
 13969  
 13970  // Status code returns the HTTP status code for the request's response error.
 13971  func (s *LimitExceededException) StatusCode() int {
 13972  	return s.RespMetadata.StatusCode
 13973  }
 13974  
 13975  // RequestID returns the service's response RequestID for request.
 13976  func (s *LimitExceededException) RequestID() string {
 13977  	return s.RespMetadata.RequestID
 13978  }
 13979  
 13980  type ListCollectionsInput struct {
 13981  	_ struct{} `type:"structure"`
 13982  
 13983  	// Maximum number of collection IDs to return.
 13984  	MaxResults *int64 `type:"integer"`
 13985  
 13986  	// Pagination token from the previous response.
 13987  	NextToken *string `type:"string"`
 13988  }
 13989  
 13990  // String returns the string representation.
 13991  //
 13992  // API parameter values that are decorated as "sensitive" in the API will not
 13993  // be included in the string output. The member name will be present, but the
 13994  // value will be replaced with "sensitive".
 13995  func (s ListCollectionsInput) String() string {
 13996  	return awsutil.Prettify(s)
 13997  }
 13998  
 13999  // GoString returns the string representation.
 14000  //
 14001  // API parameter values that are decorated as "sensitive" in the API will not
 14002  // be included in the string output. The member name will be present, but the
 14003  // value will be replaced with "sensitive".
 14004  func (s ListCollectionsInput) GoString() string {
 14005  	return s.String()
 14006  }
 14007  
 14008  // SetMaxResults sets the MaxResults field's value.
 14009  func (s *ListCollectionsInput) SetMaxResults(v int64) *ListCollectionsInput {
 14010  	s.MaxResults = &v
 14011  	return s
 14012  }
 14013  
 14014  // SetNextToken sets the NextToken field's value.
 14015  func (s *ListCollectionsInput) SetNextToken(v string) *ListCollectionsInput {
 14016  	s.NextToken = &v
 14017  	return s
 14018  }
 14019  
 14020  type ListCollectionsOutput struct {
 14021  	_ struct{} `type:"structure"`
 14022  
 14023  	// An array of collection IDs.
 14024  	CollectionIds []*string `type:"list"`
 14025  
 14026  	// Version numbers of the face detection models associated with the collections
 14027  	// in the array CollectionIds. For example, the value of FaceModelVersions[2]
 14028  	// is the version number for the face detection model used by the collection
 14029  	// in CollectionId[2].
 14030  	FaceModelVersions []*string `type:"list"`
 14031  
 14032  	// If the result is truncated, the response provides a NextToken that you can
 14033  	// use in the subsequent request to fetch the next set of collection IDs.
 14034  	NextToken *string `type:"string"`
 14035  }
 14036  
 14037  // String returns the string representation.
 14038  //
 14039  // API parameter values that are decorated as "sensitive" in the API will not
 14040  // be included in the string output. The member name will be present, but the
 14041  // value will be replaced with "sensitive".
 14042  func (s ListCollectionsOutput) String() string {
 14043  	return awsutil.Prettify(s)
 14044  }
 14045  
 14046  // GoString returns the string representation.
 14047  //
 14048  // API parameter values that are decorated as "sensitive" in the API will not
 14049  // be included in the string output. The member name will be present, but the
 14050  // value will be replaced with "sensitive".
 14051  func (s ListCollectionsOutput) GoString() string {
 14052  	return s.String()
 14053  }
 14054  
 14055  // SetCollectionIds sets the CollectionIds field's value.
 14056  func (s *ListCollectionsOutput) SetCollectionIds(v []*string) *ListCollectionsOutput {
 14057  	s.CollectionIds = v
 14058  	return s
 14059  }
 14060  
 14061  // SetFaceModelVersions sets the FaceModelVersions field's value.
 14062  func (s *ListCollectionsOutput) SetFaceModelVersions(v []*string) *ListCollectionsOutput {
 14063  	s.FaceModelVersions = v
 14064  	return s
 14065  }
 14066  
 14067  // SetNextToken sets the NextToken field's value.
 14068  func (s *ListCollectionsOutput) SetNextToken(v string) *ListCollectionsOutput {
 14069  	s.NextToken = &v
 14070  	return s
 14071  }
 14072  
 14073  type ListFacesInput struct {
 14074  	_ struct{} `type:"structure"`
 14075  
 14076  	// ID of the collection from which to list the faces.
 14077  	//
 14078  	// CollectionId is a required field
 14079  	CollectionId *string `min:"1" type:"string" required:"true"`
 14080  
 14081  	// Maximum number of faces to return.
 14082  	MaxResults *int64 `type:"integer"`
 14083  
 14084  	// If the previous response was incomplete (because there is more data to retrieve),
 14085  	// Amazon Rekognition returns a pagination token in the response. You can use
 14086  	// this pagination token to retrieve the next set of faces.
 14087  	NextToken *string `type:"string"`
 14088  }
 14089  
 14090  // String returns the string representation.
 14091  //
 14092  // API parameter values that are decorated as "sensitive" in the API will not
 14093  // be included in the string output. The member name will be present, but the
 14094  // value will be replaced with "sensitive".
 14095  func (s ListFacesInput) String() string {
 14096  	return awsutil.Prettify(s)
 14097  }
 14098  
 14099  // GoString returns the string representation.
 14100  //
 14101  // API parameter values that are decorated as "sensitive" in the API will not
 14102  // be included in the string output. The member name will be present, but the
 14103  // value will be replaced with "sensitive".
 14104  func (s ListFacesInput) GoString() string {
 14105  	return s.String()
 14106  }
 14107  
 14108  // Validate inspects the fields of the type to determine if they are valid.
 14109  func (s *ListFacesInput) Validate() error {
 14110  	invalidParams := request.ErrInvalidParams{Context: "ListFacesInput"}
 14111  	if s.CollectionId == nil {
 14112  		invalidParams.Add(request.NewErrParamRequired("CollectionId"))
 14113  	}
 14114  	if s.CollectionId != nil && len(*s.CollectionId) < 1 {
 14115  		invalidParams.Add(request.NewErrParamMinLen("CollectionId", 1))
 14116  	}
 14117  
 14118  	if invalidParams.Len() > 0 {
 14119  		return invalidParams
 14120  	}
 14121  	return nil
 14122  }
 14123  
 14124  // SetCollectionId sets the CollectionId field's value.
 14125  func (s *ListFacesInput) SetCollectionId(v string) *ListFacesInput {
 14126  	s.CollectionId = &v
 14127  	return s
 14128  }
 14129  
 14130  // SetMaxResults sets the MaxResults field's value.
 14131  func (s *ListFacesInput) SetMaxResults(v int64) *ListFacesInput {
 14132  	s.MaxResults = &v
 14133  	return s
 14134  }
 14135  
 14136  // SetNextToken sets the NextToken field's value.
 14137  func (s *ListFacesInput) SetNextToken(v string) *ListFacesInput {
 14138  	s.NextToken = &v
 14139  	return s
 14140  }
 14141  
 14142  type ListFacesOutput struct {
 14143  	_ struct{} `type:"structure"`
 14144  
 14145  	// Version number of the face detection model associated with the input collection
 14146  	// (CollectionId).
 14147  	FaceModelVersion *string `type:"string"`
 14148  
 14149  	// An array of Face objects.
 14150  	Faces []*Face `type:"list"`
 14151  
 14152  	// If the response is truncated, Amazon Rekognition returns this token that
 14153  	// you can use in the subsequent request to retrieve the next set of faces.
 14154  	NextToken *string `type:"string"`
 14155  }
 14156  
 14157  // String returns the string representation.
 14158  //
 14159  // API parameter values that are decorated as "sensitive" in the API will not
 14160  // be included in the string output. The member name will be present, but the
 14161  // value will be replaced with "sensitive".
 14162  func (s ListFacesOutput) String() string {
 14163  	return awsutil.Prettify(s)
 14164  }
 14165  
 14166  // GoString returns the string representation.
 14167  //
 14168  // API parameter values that are decorated as "sensitive" in the API will not
 14169  // be included in the string output. The member name will be present, but the
 14170  // value will be replaced with "sensitive".
 14171  func (s ListFacesOutput) GoString() string {
 14172  	return s.String()
 14173  }
 14174  
 14175  // SetFaceModelVersion sets the FaceModelVersion field's value.
 14176  func (s *ListFacesOutput) SetFaceModelVersion(v string) *ListFacesOutput {
 14177  	s.FaceModelVersion = &v
 14178  	return s
 14179  }
 14180  
 14181  // SetFaces sets the Faces field's value.
 14182  func (s *ListFacesOutput) SetFaces(v []*Face) *ListFacesOutput {
 14183  	s.Faces = v
 14184  	return s
 14185  }
 14186  
 14187  // SetNextToken sets the NextToken field's value.
 14188  func (s *ListFacesOutput) SetNextToken(v string) *ListFacesOutput {
 14189  	s.NextToken = &v
 14190  	return s
 14191  }
 14192  
 14193  type ListStreamProcessorsInput struct {
 14194  	_ struct{} `type:"structure"`
 14195  
 14196  	// Maximum number of stream processors you want Amazon Rekognition Video to
 14197  	// return in the response. The default is 1000.
 14198  	MaxResults *int64 `min:"1" type:"integer"`
 14199  
 14200  	// If the previous response was incomplete (because there are more stream processors
 14201  	// to retrieve), Amazon Rekognition Video returns a pagination token in the
 14202  	// response. You can use this pagination token to retrieve the next set of stream
 14203  	// processors.
 14204  	NextToken *string `type:"string"`
 14205  }
 14206  
 14207  // String returns the string representation.
 14208  //
 14209  // API parameter values that are decorated as "sensitive" in the API will not
 14210  // be included in the string output. The member name will be present, but the
 14211  // value will be replaced with "sensitive".
 14212  func (s ListStreamProcessorsInput) String() string {
 14213  	return awsutil.Prettify(s)
 14214  }
 14215  
 14216  // GoString returns the string representation.
 14217  //
 14218  // API parameter values that are decorated as "sensitive" in the API will not
 14219  // be included in the string output. The member name will be present, but the
 14220  // value will be replaced with "sensitive".
 14221  func (s ListStreamProcessorsInput) GoString() string {
 14222  	return s.String()
 14223  }
 14224  
 14225  // Validate inspects the fields of the type to determine if they are valid.
 14226  func (s *ListStreamProcessorsInput) Validate() error {
 14227  	invalidParams := request.ErrInvalidParams{Context: "ListStreamProcessorsInput"}
 14228  	if s.MaxResults != nil && *s.MaxResults < 1 {
 14229  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 14230  	}
 14231  
 14232  	if invalidParams.Len() > 0 {
 14233  		return invalidParams
 14234  	}
 14235  	return nil
 14236  }
 14237  
 14238  // SetMaxResults sets the MaxResults field's value.
 14239  func (s *ListStreamProcessorsInput) SetMaxResults(v int64) *ListStreamProcessorsInput {
 14240  	s.MaxResults = &v
 14241  	return s
 14242  }
 14243  
 14244  // SetNextToken sets the NextToken field's value.
 14245  func (s *ListStreamProcessorsInput) SetNextToken(v string) *ListStreamProcessorsInput {
 14246  	s.NextToken = &v
 14247  	return s
 14248  }
 14249  
 14250  type ListStreamProcessorsOutput struct {
 14251  	_ struct{} `type:"structure"`
 14252  
 14253  	// If the response is truncated, Amazon Rekognition Video returns this token
 14254  	// that you can use in the subsequent request to retrieve the next set of stream
 14255  	// processors.
 14256  	NextToken *string `type:"string"`
 14257  
 14258  	// List of stream processors that you have created.
 14259  	StreamProcessors []*StreamProcessor `type:"list"`
 14260  }
 14261  
 14262  // String returns the string representation.
 14263  //
 14264  // API parameter values that are decorated as "sensitive" in the API will not
 14265  // be included in the string output. The member name will be present, but the
 14266  // value will be replaced with "sensitive".
 14267  func (s ListStreamProcessorsOutput) String() string {
 14268  	return awsutil.Prettify(s)
 14269  }
 14270  
 14271  // GoString returns the string representation.
 14272  //
 14273  // API parameter values that are decorated as "sensitive" in the API will not
 14274  // be included in the string output. The member name will be present, but the
 14275  // value will be replaced with "sensitive".
 14276  func (s ListStreamProcessorsOutput) GoString() string {
 14277  	return s.String()
 14278  }
 14279  
 14280  // SetNextToken sets the NextToken field's value.
 14281  func (s *ListStreamProcessorsOutput) SetNextToken(v string) *ListStreamProcessorsOutput {
 14282  	s.NextToken = &v
 14283  	return s
 14284  }
 14285  
 14286  // SetStreamProcessors sets the StreamProcessors field's value.
 14287  func (s *ListStreamProcessorsOutput) SetStreamProcessors(v []*StreamProcessor) *ListStreamProcessorsOutput {
 14288  	s.StreamProcessors = v
 14289  	return s
 14290  }
 14291  
 14292  type ListTagsForResourceInput struct {
 14293  	_ struct{} `type:"structure"`
 14294  
 14295  	// Amazon Resource Name (ARN) of the model, collection, or stream processor
 14296  	// that contains the tags that you want a list of.
 14297  	//
 14298  	// ResourceArn is a required field
 14299  	ResourceArn *string `min:"20" type:"string" required:"true"`
 14300  }
 14301  
 14302  // String returns the string representation.
 14303  //
 14304  // API parameter values that are decorated as "sensitive" in the API will not
 14305  // be included in the string output. The member name will be present, but the
 14306  // value will be replaced with "sensitive".
 14307  func (s ListTagsForResourceInput) String() string {
 14308  	return awsutil.Prettify(s)
 14309  }
 14310  
 14311  // GoString returns the string representation.
 14312  //
 14313  // API parameter values that are decorated as "sensitive" in the API will not
 14314  // be included in the string output. The member name will be present, but the
 14315  // value will be replaced with "sensitive".
 14316  func (s ListTagsForResourceInput) GoString() string {
 14317  	return s.String()
 14318  }
 14319  
 14320  // Validate inspects the fields of the type to determine if they are valid.
 14321  func (s *ListTagsForResourceInput) Validate() error {
 14322  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 14323  	if s.ResourceArn == nil {
 14324  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 14325  	}
 14326  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
 14327  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
 14328  	}
 14329  
 14330  	if invalidParams.Len() > 0 {
 14331  		return invalidParams
 14332  	}
 14333  	return nil
 14334  }
 14335  
 14336  // SetResourceArn sets the ResourceArn field's value.
 14337  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 14338  	s.ResourceArn = &v
 14339  	return s
 14340  }
 14341  
 14342  type ListTagsForResourceOutput struct {
 14343  	_ struct{} `type:"structure"`
 14344  
 14345  	// A list of key-value tags assigned to the resource.
 14346  	Tags map[string]*string `type:"map"`
 14347  }
 14348  
 14349  // String returns the string representation.
 14350  //
 14351  // API parameter values that are decorated as "sensitive" in the API will not
 14352  // be included in the string output. The member name will be present, but the
 14353  // value will be replaced with "sensitive".
 14354  func (s ListTagsForResourceOutput) String() string {
 14355  	return awsutil.Prettify(s)
 14356  }
 14357  
 14358  // GoString returns the string representation.
 14359  //
 14360  // API parameter values that are decorated as "sensitive" in the API will not
 14361  // be included in the string output. The member name will be present, but the
 14362  // value will be replaced with "sensitive".
 14363  func (s ListTagsForResourceOutput) GoString() string {
 14364  	return s.String()
 14365  }
 14366  
 14367  // SetTags sets the Tags field's value.
 14368  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
 14369  	s.Tags = v
 14370  	return s
 14371  }
 14372  
 14373  // Provides information about a single type of inappropriate, unwanted, or offensive
 14374  // content found in an image or video. Each type of moderated content has a
 14375  // label within a hierarchical taxonomy. For more information, see Content moderation
 14376  // in the Amazon Rekognition Developer Guide.
 14377  type ModerationLabel struct {
 14378  	_ struct{} `type:"structure"`
 14379  
 14380  	// Specifies the confidence that Amazon Rekognition has that the label has been
 14381  	// correctly identified.
 14382  	//
 14383  	// If you don't specify the MinConfidence parameter in the call to DetectModerationLabels,
 14384  	// the operation returns labels with a confidence value greater than or equal
 14385  	// to 50 percent.
 14386  	Confidence *float64 `type:"float"`
 14387  
 14388  	// The label name for the type of unsafe content detected in the image.
 14389  	Name *string `type:"string"`
 14390  
 14391  	// The name for the parent label. Labels at the top level of the hierarchy have
 14392  	// the parent label "".
 14393  	ParentName *string `type:"string"`
 14394  }
 14395  
 14396  // String returns the string representation.
 14397  //
 14398  // API parameter values that are decorated as "sensitive" in the API will not
 14399  // be included in the string output. The member name will be present, but the
 14400  // value will be replaced with "sensitive".
 14401  func (s ModerationLabel) String() string {
 14402  	return awsutil.Prettify(s)
 14403  }
 14404  
 14405  // GoString returns the string representation.
 14406  //
 14407  // API parameter values that are decorated as "sensitive" in the API will not
 14408  // be included in the string output. The member name will be present, but the
 14409  // value will be replaced with "sensitive".
 14410  func (s ModerationLabel) GoString() string {
 14411  	return s.String()
 14412  }
 14413  
 14414  // SetConfidence sets the Confidence field's value.
 14415  func (s *ModerationLabel) SetConfidence(v float64) *ModerationLabel {
 14416  	s.Confidence = &v
 14417  	return s
 14418  }
 14419  
 14420  // SetName sets the Name field's value.
 14421  func (s *ModerationLabel) SetName(v string) *ModerationLabel {
 14422  	s.Name = &v
 14423  	return s
 14424  }
 14425  
 14426  // SetParentName sets the ParentName field's value.
 14427  func (s *ModerationLabel) SetParentName(v string) *ModerationLabel {
 14428  	s.ParentName = &v
 14429  	return s
 14430  }
 14431  
 14432  // Indicates whether or not the mouth on the face is open, and the confidence
 14433  // level in the determination.
 14434  type MouthOpen struct {
 14435  	_ struct{} `type:"structure"`
 14436  
 14437  	// Level of confidence in the determination.
 14438  	Confidence *float64 `type:"float"`
 14439  
 14440  	// Boolean value that indicates whether the mouth on the face is open or not.
 14441  	Value *bool `type:"boolean"`
 14442  }
 14443  
 14444  // String returns the string representation.
 14445  //
 14446  // API parameter values that are decorated as "sensitive" in the API will not
 14447  // be included in the string output. The member name will be present, but the
 14448  // value will be replaced with "sensitive".
 14449  func (s MouthOpen) String() string {
 14450  	return awsutil.Prettify(s)
 14451  }
 14452  
 14453  // GoString returns the string representation.
 14454  //
 14455  // API parameter values that are decorated as "sensitive" in the API will not
 14456  // be included in the string output. The member name will be present, but the
 14457  // value will be replaced with "sensitive".
 14458  func (s MouthOpen) GoString() string {
 14459  	return s.String()
 14460  }
 14461  
 14462  // SetConfidence sets the Confidence field's value.
 14463  func (s *MouthOpen) SetConfidence(v float64) *MouthOpen {
 14464  	s.Confidence = &v
 14465  	return s
 14466  }
 14467  
 14468  // SetValue sets the Value field's value.
 14469  func (s *MouthOpen) SetValue(v bool) *MouthOpen {
 14470  	s.Value = &v
 14471  	return s
 14472  }
 14473  
 14474  // Indicates whether or not the face has a mustache, and the confidence level
 14475  // in the determination.
 14476  type Mustache struct {
 14477  	_ struct{} `type:"structure"`
 14478  
 14479  	// Level of confidence in the determination.
 14480  	Confidence *float64 `type:"float"`
 14481  
 14482  	// Boolean value that indicates whether the face has mustache or not.
 14483  	Value *bool `type:"boolean"`
 14484  }
 14485  
 14486  // String returns the string representation.
 14487  //
 14488  // API parameter values that are decorated as "sensitive" in the API will not
 14489  // be included in the string output. The member name will be present, but the
 14490  // value will be replaced with "sensitive".
 14491  func (s Mustache) String() string {
 14492  	return awsutil.Prettify(s)
 14493  }
 14494  
 14495  // GoString returns the string representation.
 14496  //
 14497  // API parameter values that are decorated as "sensitive" in the API will not
 14498  // be included in the string output. The member name will be present, but the
 14499  // value will be replaced with "sensitive".
 14500  func (s Mustache) GoString() string {
 14501  	return s.String()
 14502  }
 14503  
 14504  // SetConfidence sets the Confidence field's value.
 14505  func (s *Mustache) SetConfidence(v float64) *Mustache {
 14506  	s.Confidence = &v
 14507  	return s
 14508  }
 14509  
 14510  // SetValue sets the Value field's value.
 14511  func (s *Mustache) SetValue(v bool) *Mustache {
 14512  	s.Value = &v
 14513  	return s
 14514  }
 14515  
 14516  // The Amazon Simple Notification Service topic to which Amazon Rekognition
 14517  // publishes the completion status of a video analysis operation. For more information,
 14518  // see api-video. Note that the Amazon SNS topic must have a topic name that
 14519  // begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole
 14520  // permissions policy to access the topic. For more information, see Giving
 14521  // access to multiple Amazon SNS topics (https://docs.aws.amazon.com/rekognition/latest/dg/api-video-roles.html#api-video-roles-all-topics).
 14522  type NotificationChannel struct {
 14523  	_ struct{} `type:"structure"`
 14524  
 14525  	// The ARN of an IAM role that gives Amazon Rekognition publishing permissions
 14526  	// to the Amazon SNS topic.
 14527  	//
 14528  	// RoleArn is a required field
 14529  	RoleArn *string `type:"string" required:"true"`
 14530  
 14531  	// The Amazon SNS topic to which Amazon Rekognition to posts the completion
 14532  	// status.
 14533  	//
 14534  	// SNSTopicArn is a required field
 14535  	SNSTopicArn *string `type:"string" required:"true"`
 14536  }
 14537  
 14538  // String returns the string representation.
 14539  //
 14540  // API parameter values that are decorated as "sensitive" in the API will not
 14541  // be included in the string output. The member name will be present, but the
 14542  // value will be replaced with "sensitive".
 14543  func (s NotificationChannel) String() string {
 14544  	return awsutil.Prettify(s)
 14545  }
 14546  
 14547  // GoString returns the string representation.
 14548  //
 14549  // API parameter values that are decorated as "sensitive" in the API will not
 14550  // be included in the string output. The member name will be present, but the
 14551  // value will be replaced with "sensitive".
 14552  func (s NotificationChannel) GoString() string {
 14553  	return s.String()
 14554  }
 14555  
 14556  // Validate inspects the fields of the type to determine if they are valid.
 14557  func (s *NotificationChannel) Validate() error {
 14558  	invalidParams := request.ErrInvalidParams{Context: "NotificationChannel"}
 14559  	if s.RoleArn == nil {
 14560  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 14561  	}
 14562  	if s.SNSTopicArn == nil {
 14563  		invalidParams.Add(request.NewErrParamRequired("SNSTopicArn"))
 14564  	}
 14565  
 14566  	if invalidParams.Len() > 0 {
 14567  		return invalidParams
 14568  	}
 14569  	return nil
 14570  }
 14571  
 14572  // SetRoleArn sets the RoleArn field's value.
 14573  func (s *NotificationChannel) SetRoleArn(v string) *NotificationChannel {
 14574  	s.RoleArn = &v
 14575  	return s
 14576  }
 14577  
 14578  // SetSNSTopicArn sets the SNSTopicArn field's value.
 14579  func (s *NotificationChannel) SetSNSTopicArn(v string) *NotificationChannel {
 14580  	s.SNSTopicArn = &v
 14581  	return s
 14582  }
 14583  
 14584  // The S3 bucket and folder location where training output is placed.
 14585  type OutputConfig struct {
 14586  	_ struct{} `type:"structure"`
 14587  
 14588  	// The S3 bucket where training output is placed.
 14589  	S3Bucket *string `min:"3" type:"string"`
 14590  
 14591  	// The prefix applied to the training output files.
 14592  	S3KeyPrefix *string `type:"string"`
 14593  }
 14594  
 14595  // String returns the string representation.
 14596  //
 14597  // API parameter values that are decorated as "sensitive" in the API will not
 14598  // be included in the string output. The member name will be present, but the
 14599  // value will be replaced with "sensitive".
 14600  func (s OutputConfig) String() string {
 14601  	return awsutil.Prettify(s)
 14602  }
 14603  
 14604  // GoString returns the string representation.
 14605  //
 14606  // API parameter values that are decorated as "sensitive" in the API will not
 14607  // be included in the string output. The member name will be present, but the
 14608  // value will be replaced with "sensitive".
 14609  func (s OutputConfig) GoString() string {
 14610  	return s.String()
 14611  }
 14612  
 14613  // Validate inspects the fields of the type to determine if they are valid.
 14614  func (s *OutputConfig) Validate() error {
 14615  	invalidParams := request.ErrInvalidParams{Context: "OutputConfig"}
 14616  	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
 14617  		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
 14618  	}
 14619  
 14620  	if invalidParams.Len() > 0 {
 14621  		return invalidParams
 14622  	}
 14623  	return nil
 14624  }
 14625  
 14626  // SetS3Bucket sets the S3Bucket field's value.
 14627  func (s *OutputConfig) SetS3Bucket(v string) *OutputConfig {
 14628  	s.S3Bucket = &v
 14629  	return s
 14630  }
 14631  
 14632  // SetS3KeyPrefix sets the S3KeyPrefix field's value.
 14633  func (s *OutputConfig) SetS3KeyPrefix(v string) *OutputConfig {
 14634  	s.S3KeyPrefix = &v
 14635  	return s
 14636  }
 14637  
 14638  // A parent label for a label. A label can have 0, 1, or more parents.
 14639  type Parent struct {
 14640  	_ struct{} `type:"structure"`
 14641  
 14642  	// The name of the parent label.
 14643  	Name *string `type:"string"`
 14644  }
 14645  
 14646  // String returns the string representation.
 14647  //
 14648  // API parameter values that are decorated as "sensitive" in the API will not
 14649  // be included in the string output. The member name will be present, but the
 14650  // value will be replaced with "sensitive".
 14651  func (s Parent) String() string {
 14652  	return awsutil.Prettify(s)
 14653  }
 14654  
 14655  // GoString returns the string representation.
 14656  //
 14657  // API parameter values that are decorated as "sensitive" in the API will not
 14658  // be included in the string output. The member name will be present, but the
 14659  // value will be replaced with "sensitive".
 14660  func (s Parent) GoString() string {
 14661  	return s.String()
 14662  }
 14663  
 14664  // SetName sets the Name field's value.
 14665  func (s *Parent) SetName(v string) *Parent {
 14666  	s.Name = &v
 14667  	return s
 14668  }
 14669  
 14670  // Details about a person detected in a video analysis request.
 14671  type PersonDetail struct {
 14672  	_ struct{} `type:"structure"`
 14673  
 14674  	// Bounding box around the detected person.
 14675  	BoundingBox *BoundingBox `type:"structure"`
 14676  
 14677  	// Face details for the detected person.
 14678  	Face *FaceDetail `type:"structure"`
 14679  
 14680  	// Identifier for the person detected person within a video. Use to keep track
 14681  	// of the person throughout the video. The identifier is not stored by Amazon
 14682  	// Rekognition.
 14683  	Index *int64 `type:"long"`
 14684  }
 14685  
 14686  // String returns the string representation.
 14687  //
 14688  // API parameter values that are decorated as "sensitive" in the API will not
 14689  // be included in the string output. The member name will be present, but the
 14690  // value will be replaced with "sensitive".
 14691  func (s PersonDetail) String() string {
 14692  	return awsutil.Prettify(s)
 14693  }
 14694  
 14695  // GoString returns the string representation.
 14696  //
 14697  // API parameter values that are decorated as "sensitive" in the API will not
 14698  // be included in the string output. The member name will be present, but the
 14699  // value will be replaced with "sensitive".
 14700  func (s PersonDetail) GoString() string {
 14701  	return s.String()
 14702  }
 14703  
 14704  // SetBoundingBox sets the BoundingBox field's value.
 14705  func (s *PersonDetail) SetBoundingBox(v *BoundingBox) *PersonDetail {
 14706  	s.BoundingBox = v
 14707  	return s
 14708  }
 14709  
 14710  // SetFace sets the Face field's value.
 14711  func (s *PersonDetail) SetFace(v *FaceDetail) *PersonDetail {
 14712  	s.Face = v
 14713  	return s
 14714  }
 14715  
 14716  // SetIndex sets the Index field's value.
 14717  func (s *PersonDetail) SetIndex(v int64) *PersonDetail {
 14718  	s.Index = &v
 14719  	return s
 14720  }
 14721  
 14722  // Details and path tracking information for a single time a person's path is
 14723  // tracked in a video. Amazon Rekognition operations that track people's paths
 14724  // return an array of PersonDetection objects with elements for each time a
 14725  // person's path is tracked in a video.
 14726  //
 14727  // For more information, see GetPersonTracking in the Amazon Rekognition Developer
 14728  // Guide.
 14729  type PersonDetection struct {
 14730  	_ struct{} `type:"structure"`
 14731  
 14732  	// Details about a person whose path was tracked in a video.
 14733  	Person *PersonDetail `type:"structure"`
 14734  
 14735  	// The time, in milliseconds from the start of the video, that the person's
 14736  	// path was tracked.
 14737  	Timestamp *int64 `type:"long"`
 14738  }
 14739  
 14740  // String returns the string representation.
 14741  //
 14742  // API parameter values that are decorated as "sensitive" in the API will not
 14743  // be included in the string output. The member name will be present, but the
 14744  // value will be replaced with "sensitive".
 14745  func (s PersonDetection) String() string {
 14746  	return awsutil.Prettify(s)
 14747  }
 14748  
 14749  // GoString returns the string representation.
 14750  //
 14751  // API parameter values that are decorated as "sensitive" in the API will not
 14752  // be included in the string output. The member name will be present, but the
 14753  // value will be replaced with "sensitive".
 14754  func (s PersonDetection) GoString() string {
 14755  	return s.String()
 14756  }
 14757  
 14758  // SetPerson sets the Person field's value.
 14759  func (s *PersonDetection) SetPerson(v *PersonDetail) *PersonDetection {
 14760  	s.Person = v
 14761  	return s
 14762  }
 14763  
 14764  // SetTimestamp sets the Timestamp field's value.
 14765  func (s *PersonDetection) SetTimestamp(v int64) *PersonDetection {
 14766  	s.Timestamp = &v
 14767  	return s
 14768  }
 14769  
 14770  // Information about a person whose face matches a face(s) in an Amazon Rekognition
 14771  // collection. Includes information about the faces in the Amazon Rekognition
 14772  // collection (FaceMatch), information about the person (PersonDetail), and
 14773  // the time stamp for when the person was detected in a video. An array of PersonMatch
 14774  // objects is returned by GetFaceSearch.
 14775  type PersonMatch struct {
 14776  	_ struct{} `type:"structure"`
 14777  
 14778  	// Information about the faces in the input collection that match the face of
 14779  	// a person in the video.
 14780  	FaceMatches []*FaceMatch `type:"list"`
 14781  
 14782  	// Information about the matched person.
 14783  	Person *PersonDetail `type:"structure"`
 14784  
 14785  	// The time, in milliseconds from the beginning of the video, that the person
 14786  	// was matched in the video.
 14787  	Timestamp *int64 `type:"long"`
 14788  }
 14789  
 14790  // String returns the string representation.
 14791  //
 14792  // API parameter values that are decorated as "sensitive" in the API will not
 14793  // be included in the string output. The member name will be present, but the
 14794  // value will be replaced with "sensitive".
 14795  func (s PersonMatch) String() string {
 14796  	return awsutil.Prettify(s)
 14797  }
 14798  
 14799  // GoString returns the string representation.
 14800  //
 14801  // API parameter values that are decorated as "sensitive" in the API will not
 14802  // be included in the string output. The member name will be present, but the
 14803  // value will be replaced with "sensitive".
 14804  func (s PersonMatch) GoString() string {
 14805  	return s.String()
 14806  }
 14807  
 14808  // SetFaceMatches sets the FaceMatches field's value.
 14809  func (s *PersonMatch) SetFaceMatches(v []*FaceMatch) *PersonMatch {
 14810  	s.FaceMatches = v
 14811  	return s
 14812  }
 14813  
 14814  // SetPerson sets the Person field's value.
 14815  func (s *PersonMatch) SetPerson(v *PersonDetail) *PersonMatch {
 14816  	s.Person = v
 14817  	return s
 14818  }
 14819  
 14820  // SetTimestamp sets the Timestamp field's value.
 14821  func (s *PersonMatch) SetTimestamp(v int64) *PersonMatch {
 14822  	s.Timestamp = &v
 14823  	return s
 14824  }
 14825  
 14826  // The X and Y coordinates of a point on an image. The X and Y values returned
 14827  // are ratios of the overall image size. For example, if the input image is
 14828  // 700x200 and the operation returns X=0.5 and Y=0.25, then the point is at
 14829  // the (350,50) pixel coordinate on the image.
 14830  //
 14831  // An array of Point objects, Polygon, is returned by DetectText and by DetectCustomLabels.
 14832  // Polygon represents a fine-grained polygon around a detected item. For more
 14833  // information, see Geometry in the Amazon Rekognition Developer Guide.
 14834  type Point struct {
 14835  	_ struct{} `type:"structure"`
 14836  
 14837  	// The value of the X coordinate for a point on a Polygon.
 14838  	X *float64 `type:"float"`
 14839  
 14840  	// The value of the Y coordinate for a point on a Polygon.
 14841  	Y *float64 `type:"float"`
 14842  }
 14843  
 14844  // String returns the string representation.
 14845  //
 14846  // API parameter values that are decorated as "sensitive" in the API will not
 14847  // be included in the string output. The member name will be present, but the
 14848  // value will be replaced with "sensitive".
 14849  func (s Point) String() string {
 14850  	return awsutil.Prettify(s)
 14851  }
 14852  
 14853  // GoString returns the string representation.
 14854  //
 14855  // API parameter values that are decorated as "sensitive" in the API will not
 14856  // be included in the string output. The member name will be present, but the
 14857  // value will be replaced with "sensitive".
 14858  func (s Point) GoString() string {
 14859  	return s.String()
 14860  }
 14861  
 14862  // SetX sets the X field's value.
 14863  func (s *Point) SetX(v float64) *Point {
 14864  	s.X = &v
 14865  	return s
 14866  }
 14867  
 14868  // SetY sets the Y field's value.
 14869  func (s *Point) SetY(v float64) *Point {
 14870  	s.Y = &v
 14871  	return s
 14872  }
 14873  
 14874  // Indicates the pose of the face as determined by its pitch, roll, and yaw.
 14875  type Pose struct {
 14876  	_ struct{} `type:"structure"`
 14877  
 14878  	// Value representing the face rotation on the pitch axis.
 14879  	Pitch *float64 `type:"float"`
 14880  
 14881  	// Value representing the face rotation on the roll axis.
 14882  	Roll *float64 `type:"float"`
 14883  
 14884  	// Value representing the face rotation on the yaw axis.
 14885  	Yaw *float64 `type:"float"`
 14886  }
 14887  
 14888  // String returns the string representation.
 14889  //
 14890  // API parameter values that are decorated as "sensitive" in the API will not
 14891  // be included in the string output. The member name will be present, but the
 14892  // value will be replaced with "sensitive".
 14893  func (s Pose) String() string {
 14894  	return awsutil.Prettify(s)
 14895  }
 14896  
 14897  // GoString returns the string representation.
 14898  //
 14899  // API parameter values that are decorated as "sensitive" in the API will not
 14900  // be included in the string output. The member name will be present, but the
 14901  // value will be replaced with "sensitive".
 14902  func (s Pose) GoString() string {
 14903  	return s.String()
 14904  }
 14905  
 14906  // SetPitch sets the Pitch field's value.
 14907  func (s *Pose) SetPitch(v float64) *Pose {
 14908  	s.Pitch = &v
 14909  	return s
 14910  }
 14911  
 14912  // SetRoll sets the Roll field's value.
 14913  func (s *Pose) SetRoll(v float64) *Pose {
 14914  	s.Roll = &v
 14915  	return s
 14916  }
 14917  
 14918  // SetYaw sets the Yaw field's value.
 14919  func (s *Pose) SetYaw(v float64) *Pose {
 14920  	s.Yaw = &v
 14921  	return s
 14922  }
 14923  
 14924  // A description of a Amazon Rekognition Custom Labels project.
 14925  type ProjectDescription struct {
 14926  	_ struct{} `type:"structure"`
 14927  
 14928  	// The Unix timestamp for the date and time that the project was created.
 14929  	CreationTimestamp *time.Time `type:"timestamp"`
 14930  
 14931  	// The Amazon Resource Name (ARN) of the project.
 14932  	ProjectArn *string `min:"20" type:"string"`
 14933  
 14934  	// The current status of the project.
 14935  	Status *string `type:"string" enum:"ProjectStatus"`
 14936  }
 14937  
 14938  // String returns the string representation.
 14939  //
 14940  // API parameter values that are decorated as "sensitive" in the API will not
 14941  // be included in the string output. The member name will be present, but the
 14942  // value will be replaced with "sensitive".
 14943  func (s ProjectDescription) String() string {
 14944  	return awsutil.Prettify(s)
 14945  }
 14946  
 14947  // GoString returns the string representation.
 14948  //
 14949  // API parameter values that are decorated as "sensitive" in the API will not
 14950  // be included in the string output. The member name will be present, but the
 14951  // value will be replaced with "sensitive".
 14952  func (s ProjectDescription) GoString() string {
 14953  	return s.String()
 14954  }
 14955  
 14956  // SetCreationTimestamp sets the CreationTimestamp field's value.
 14957  func (s *ProjectDescription) SetCreationTimestamp(v time.Time) *ProjectDescription {
 14958  	s.CreationTimestamp = &v
 14959  	return s
 14960  }
 14961  
 14962  // SetProjectArn sets the ProjectArn field's value.
 14963  func (s *ProjectDescription) SetProjectArn(v string) *ProjectDescription {
 14964  	s.ProjectArn = &v
 14965  	return s
 14966  }
 14967  
 14968  // SetStatus sets the Status field's value.
 14969  func (s *ProjectDescription) SetStatus(v string) *ProjectDescription {
 14970  	s.Status = &v
 14971  	return s
 14972  }
 14973  
 14974  // The description of a version of a model.
 14975  type ProjectVersionDescription struct {
 14976  	_ struct{} `type:"structure"`
 14977  
 14978  	// The duration, in seconds, that the model version has been billed for training.
 14979  	// This value is only returned if the model version has been successfully trained.
 14980  	BillableTrainingTimeInSeconds *int64 `type:"long"`
 14981  
 14982  	// The Unix datetime for the date and time that training started.
 14983  	CreationTimestamp *time.Time `type:"timestamp"`
 14984  
 14985  	// The training results. EvaluationResult is only returned if training is successful.
 14986  	EvaluationResult *EvaluationResult `type:"structure"`
 14987  
 14988  	// The identifer for the AWS Key Management Service (AWS KMS) customer master
 14989  	// key that was used to encrypt the model during training.
 14990  	KmsKeyId *string `min:"1" type:"string"`
 14991  
 14992  	// The location of the summary manifest. The summary manifest provides aggregate
 14993  	// data validation results for the training and test datasets.
 14994  	ManifestSummary *GroundTruthManifest `type:"structure"`
 14995  
 14996  	// The minimum number of inference units used by the model. For more information,
 14997  	// see StartProjectVersion.
 14998  	MinInferenceUnits *int64 `min:"1" type:"integer"`
 14999  
 15000  	// The location where training results are saved.
 15001  	OutputConfig *OutputConfig `type:"structure"`
 15002  
 15003  	// The Amazon Resource Name (ARN) of the model version.
 15004  	ProjectVersionArn *string `min:"20" type:"string"`
 15005  
 15006  	// The current status of the model version.
 15007  	Status *string `type:"string" enum:"ProjectVersionStatus"`
 15008  
 15009  	// A descriptive message for an error or warning that occurred.
 15010  	StatusMessage *string `type:"string"`
 15011  
 15012  	// Contains information about the testing results.
 15013  	TestingDataResult *TestingDataResult `type:"structure"`
 15014  
 15015  	// Contains information about the training results.
 15016  	TrainingDataResult *TrainingDataResult `type:"structure"`
 15017  
 15018  	// The Unix date and time that training of the model ended.
 15019  	TrainingEndTimestamp *time.Time `type:"timestamp"`
 15020  }
 15021  
 15022  // String returns the string representation.
 15023  //
 15024  // API parameter values that are decorated as "sensitive" in the API will not
 15025  // be included in the string output. The member name will be present, but the
 15026  // value will be replaced with "sensitive".
 15027  func (s ProjectVersionDescription) String() string {
 15028  	return awsutil.Prettify(s)
 15029  }
 15030  
 15031  // GoString returns the string representation.
 15032  //
 15033  // API parameter values that are decorated as "sensitive" in the API will not
 15034  // be included in the string output. The member name will be present, but the
 15035  // value will be replaced with "sensitive".
 15036  func (s ProjectVersionDescription) GoString() string {
 15037  	return s.String()
 15038  }
 15039  
 15040  // SetBillableTrainingTimeInSeconds sets the BillableTrainingTimeInSeconds field's value.
 15041  func (s *ProjectVersionDescription) SetBillableTrainingTimeInSeconds(v int64) *ProjectVersionDescription {
 15042  	s.BillableTrainingTimeInSeconds = &v
 15043  	return s
 15044  }
 15045  
 15046  // SetCreationTimestamp sets the CreationTimestamp field's value.
 15047  func (s *ProjectVersionDescription) SetCreationTimestamp(v time.Time) *ProjectVersionDescription {
 15048  	s.CreationTimestamp = &v
 15049  	return s
 15050  }
 15051  
 15052  // SetEvaluationResult sets the EvaluationResult field's value.
 15053  func (s *ProjectVersionDescription) SetEvaluationResult(v *EvaluationResult) *ProjectVersionDescription {
 15054  	s.EvaluationResult = v
 15055  	return s
 15056  }
 15057  
 15058  // SetKmsKeyId sets the KmsKeyId field's value.
 15059  func (s *ProjectVersionDescription) SetKmsKeyId(v string) *ProjectVersionDescription {
 15060  	s.KmsKeyId = &v
 15061  	return s
 15062  }
 15063  
 15064  // SetManifestSummary sets the ManifestSummary field's value.
 15065  func (s *ProjectVersionDescription) SetManifestSummary(v *GroundTruthManifest) *ProjectVersionDescription {
 15066  	s.ManifestSummary = v
 15067  	return s
 15068  }
 15069  
 15070  // SetMinInferenceUnits sets the MinInferenceUnits field's value.
 15071  func (s *ProjectVersionDescription) SetMinInferenceUnits(v int64) *ProjectVersionDescription {
 15072  	s.MinInferenceUnits = &v
 15073  	return s
 15074  }
 15075  
 15076  // SetOutputConfig sets the OutputConfig field's value.
 15077  func (s *ProjectVersionDescription) SetOutputConfig(v *OutputConfig) *ProjectVersionDescription {
 15078  	s.OutputConfig = v
 15079  	return s
 15080  }
 15081  
 15082  // SetProjectVersionArn sets the ProjectVersionArn field's value.
 15083  func (s *ProjectVersionDescription) SetProjectVersionArn(v string) *ProjectVersionDescription {
 15084  	s.ProjectVersionArn = &v
 15085  	return s
 15086  }
 15087  
 15088  // SetStatus sets the Status field's value.
 15089  func (s *ProjectVersionDescription) SetStatus(v string) *ProjectVersionDescription {
 15090  	s.Status = &v
 15091  	return s
 15092  }
 15093  
 15094  // SetStatusMessage sets the StatusMessage field's value.
 15095  func (s *ProjectVersionDescription) SetStatusMessage(v string) *ProjectVersionDescription {
 15096  	s.StatusMessage = &v
 15097  	return s
 15098  }
 15099  
 15100  // SetTestingDataResult sets the TestingDataResult field's value.
 15101  func (s *ProjectVersionDescription) SetTestingDataResult(v *TestingDataResult) *ProjectVersionDescription {
 15102  	s.TestingDataResult = v
 15103  	return s
 15104  }
 15105  
 15106  // SetTrainingDataResult sets the TrainingDataResult field's value.
 15107  func (s *ProjectVersionDescription) SetTrainingDataResult(v *TrainingDataResult) *ProjectVersionDescription {
 15108  	s.TrainingDataResult = v
 15109  	return s
 15110  }
 15111  
 15112  // SetTrainingEndTimestamp sets the TrainingEndTimestamp field's value.
 15113  func (s *ProjectVersionDescription) SetTrainingEndTimestamp(v time.Time) *ProjectVersionDescription {
 15114  	s.TrainingEndTimestamp = &v
 15115  	return s
 15116  }
 15117  
 15118  // Information about a body part detected by DetectProtectiveEquipment that
 15119  // contains PPE. An array of ProtectiveEquipmentBodyPart objects is returned
 15120  // for each person detected by DetectProtectiveEquipment.
 15121  type ProtectiveEquipmentBodyPart struct {
 15122  	_ struct{} `type:"structure"`
 15123  
 15124  	// The confidence that Amazon Rekognition has in the detection accuracy of the
 15125  	// detected body part.
 15126  	Confidence *float64 `type:"float"`
 15127  
 15128  	// An array of Personal Protective Equipment items detected around a body part.
 15129  	EquipmentDetections []*EquipmentDetection `type:"list"`
 15130  
 15131  	// The detected body part.
 15132  	Name *string `type:"string" enum:"BodyPart"`
 15133  }
 15134  
 15135  // String returns the string representation.
 15136  //
 15137  // API parameter values that are decorated as "sensitive" in the API will not
 15138  // be included in the string output. The member name will be present, but the
 15139  // value will be replaced with "sensitive".
 15140  func (s ProtectiveEquipmentBodyPart) String() string {
 15141  	return awsutil.Prettify(s)
 15142  }
 15143  
 15144  // GoString returns the string representation.
 15145  //
 15146  // API parameter values that are decorated as "sensitive" in the API will not
 15147  // be included in the string output. The member name will be present, but the
 15148  // value will be replaced with "sensitive".
 15149  func (s ProtectiveEquipmentBodyPart) GoString() string {
 15150  	return s.String()
 15151  }
 15152  
 15153  // SetConfidence sets the Confidence field's value.
 15154  func (s *ProtectiveEquipmentBodyPart) SetConfidence(v float64) *ProtectiveEquipmentBodyPart {
 15155  	s.Confidence = &v
 15156  	return s
 15157  }
 15158  
 15159  // SetEquipmentDetections sets the EquipmentDetections field's value.
 15160  func (s *ProtectiveEquipmentBodyPart) SetEquipmentDetections(v []*EquipmentDetection) *ProtectiveEquipmentBodyPart {
 15161  	s.EquipmentDetections = v
 15162  	return s
 15163  }
 15164  
 15165  // SetName sets the Name field's value.
 15166  func (s *ProtectiveEquipmentBodyPart) SetName(v string) *ProtectiveEquipmentBodyPart {
 15167  	s.Name = &v
 15168  	return s
 15169  }
 15170  
 15171  // A person detected by a call to DetectProtectiveEquipment. The API returns
 15172  // all persons detected in the input image in an array of ProtectiveEquipmentPerson
 15173  // objects.
 15174  type ProtectiveEquipmentPerson struct {
 15175  	_ struct{} `type:"structure"`
 15176  
 15177  	// An array of body parts detected on a person's body (including body parts
 15178  	// without PPE).
 15179  	BodyParts []*ProtectiveEquipmentBodyPart `type:"list"`
 15180  
 15181  	// A bounding box around the detected person.
 15182  	BoundingBox *BoundingBox `type:"structure"`
 15183  
 15184  	// The confidence that Amazon Rekognition has that the bounding box contains
 15185  	// a person.
 15186  	Confidence *float64 `type:"float"`
 15187  
 15188  	// The identifier for the detected person. The identifier is only unique for
 15189  	// a single call to DetectProtectiveEquipment.
 15190  	Id *int64 `type:"integer"`
 15191  }
 15192  
 15193  // String returns the string representation.
 15194  //
 15195  // API parameter values that are decorated as "sensitive" in the API will not
 15196  // be included in the string output. The member name will be present, but the
 15197  // value will be replaced with "sensitive".
 15198  func (s ProtectiveEquipmentPerson) String() string {
 15199  	return awsutil.Prettify(s)
 15200  }
 15201  
 15202  // GoString returns the string representation.
 15203  //
 15204  // API parameter values that are decorated as "sensitive" in the API will not
 15205  // be included in the string output. The member name will be present, but the
 15206  // value will be replaced with "sensitive".
 15207  func (s ProtectiveEquipmentPerson) GoString() string {
 15208  	return s.String()
 15209  }
 15210  
 15211  // SetBodyParts sets the BodyParts field's value.
 15212  func (s *ProtectiveEquipmentPerson) SetBodyParts(v []*ProtectiveEquipmentBodyPart) *ProtectiveEquipmentPerson {
 15213  	s.BodyParts = v
 15214  	return s
 15215  }
 15216  
 15217  // SetBoundingBox sets the BoundingBox field's value.
 15218  func (s *ProtectiveEquipmentPerson) SetBoundingBox(v *BoundingBox) *ProtectiveEquipmentPerson {
 15219  	s.BoundingBox = v
 15220  	return s
 15221  }
 15222  
 15223  // SetConfidence sets the Confidence field's value.
 15224  func (s *ProtectiveEquipmentPerson) SetConfidence(v float64) *ProtectiveEquipmentPerson {
 15225  	s.Confidence = &v
 15226  	return s
 15227  }
 15228  
 15229  // SetId sets the Id field's value.
 15230  func (s *ProtectiveEquipmentPerson) SetId(v int64) *ProtectiveEquipmentPerson {
 15231  	s.Id = &v
 15232  	return s
 15233  }
 15234  
 15235  // Specifies summary attributes to return from a call to DetectProtectiveEquipment.
 15236  // You can specify which types of PPE to summarize. You can also specify a minimum
 15237  // confidence value for detections. Summary information is returned in the Summary
 15238  // (ProtectiveEquipmentSummary) field of the response from DetectProtectiveEquipment.
 15239  // The summary includes which persons in an image were detected wearing the
 15240  // requested types of person protective equipment (PPE), which persons were
 15241  // detected as not wearing PPE, and the persons in which a determination could
 15242  // not be made. For more information, see ProtectiveEquipmentSummary.
 15243  type ProtectiveEquipmentSummarizationAttributes struct {
 15244  	_ struct{} `type:"structure"`
 15245  
 15246  	// The minimum confidence level for which you want summary information. The
 15247  	// confidence level applies to person detection, body part detection, equipment
 15248  	// detection, and body part coverage. Amazon Rekognition doesn't return summary
 15249  	// information with a confidence than this specified value. There isn't a default
 15250  	// value.
 15251  	//
 15252  	// Specify a MinConfidence value that is between 50-100% as DetectProtectiveEquipment
 15253  	// returns predictions only where the detection confidence is between 50% -
 15254  	// 100%. If you specify a value that is less than 50%, the results are the same
 15255  	// specifying a value of 50%.
 15256  	//
 15257  	// MinConfidence is a required field
 15258  	MinConfidence *float64 `type:"float" required:"true"`
 15259  
 15260  	// An array of personal protective equipment types for which you want summary
 15261  	// information. If a person is detected wearing a required requipment type,
 15262  	// the person's ID is added to the PersonsWithRequiredEquipment array field
 15263  	// returned in ProtectiveEquipmentSummary by DetectProtectiveEquipment.
 15264  	//
 15265  	// RequiredEquipmentTypes is a required field
 15266  	RequiredEquipmentTypes []*string `type:"list" required:"true"`
 15267  }
 15268  
 15269  // String returns the string representation.
 15270  //
 15271  // API parameter values that are decorated as "sensitive" in the API will not
 15272  // be included in the string output. The member name will be present, but the
 15273  // value will be replaced with "sensitive".
 15274  func (s ProtectiveEquipmentSummarizationAttributes) String() string {
 15275  	return awsutil.Prettify(s)
 15276  }
 15277  
 15278  // GoString returns the string representation.
 15279  //
 15280  // API parameter values that are decorated as "sensitive" in the API will not
 15281  // be included in the string output. The member name will be present, but the
 15282  // value will be replaced with "sensitive".
 15283  func (s ProtectiveEquipmentSummarizationAttributes) GoString() string {
 15284  	return s.String()
 15285  }
 15286  
 15287  // Validate inspects the fields of the type to determine if they are valid.
 15288  func (s *ProtectiveEquipmentSummarizationAttributes) Validate() error {
 15289  	invalidParams := request.ErrInvalidParams{Context: "ProtectiveEquipmentSummarizationAttributes"}
 15290  	if s.MinConfidence == nil {
 15291  		invalidParams.Add(request.NewErrParamRequired("MinConfidence"))
 15292  	}
 15293  	if s.RequiredEquipmentTypes == nil {
 15294  		invalidParams.Add(request.NewErrParamRequired("RequiredEquipmentTypes"))
 15295  	}
 15296  
 15297  	if invalidParams.Len() > 0 {
 15298  		return invalidParams
 15299  	}
 15300  	return nil
 15301  }
 15302  
 15303  // SetMinConfidence sets the MinConfidence field's value.
 15304  func (s *ProtectiveEquipmentSummarizationAttributes) SetMinConfidence(v float64) *ProtectiveEquipmentSummarizationAttributes {
 15305  	s.MinConfidence = &v
 15306  	return s
 15307  }
 15308  
 15309  // SetRequiredEquipmentTypes sets the RequiredEquipmentTypes field's value.
 15310  func (s *ProtectiveEquipmentSummarizationAttributes) SetRequiredEquipmentTypes(v []*string) *ProtectiveEquipmentSummarizationAttributes {
 15311  	s.RequiredEquipmentTypes = v
 15312  	return s
 15313  }
 15314  
 15315  // Summary information for required items of personal protective equipment (PPE)
 15316  // detected on persons by a call to DetectProtectiveEquipment. You specify the
 15317  // required type of PPE in the SummarizationAttributes (ProtectiveEquipmentSummarizationAttributes)
 15318  // input parameter. The summary includes which persons were detected wearing
 15319  // the required personal protective equipment (PersonsWithRequiredEquipment),
 15320  // which persons were detected as not wearing the required PPE (PersonsWithoutRequiredEquipment),
 15321  // and the persons in which a determination could not be made (PersonsIndeterminate).
 15322  //
 15323  // To get a total for each category, use the size of the field array. For example,
 15324  // to find out how many people were detected as wearing the specified PPE, use
 15325  // the size of the PersonsWithRequiredEquipment array. If you want to find out
 15326  // more about a person, such as the location (BoundingBox) of the person on
 15327  // the image, use the person ID in each array element. Each person ID matches
 15328  // the ID field of a ProtectiveEquipmentPerson object returned in the Persons
 15329  // array by DetectProtectiveEquipment.
 15330  type ProtectiveEquipmentSummary struct {
 15331  	_ struct{} `type:"structure"`
 15332  
 15333  	// An array of IDs for persons where it was not possible to determine if they
 15334  	// are wearing personal protective equipment.
 15335  	PersonsIndeterminate []*int64 `type:"list"`
 15336  
 15337  	// An array of IDs for persons who are wearing detected personal protective
 15338  	// equipment.
 15339  	PersonsWithRequiredEquipment []*int64 `type:"list"`
 15340  
 15341  	// An array of IDs for persons who are not wearing all of the types of PPE specified
 15342  	// in the RequiredEquipmentTypes field of the detected personal protective equipment.
 15343  	PersonsWithoutRequiredEquipment []*int64 `type:"list"`
 15344  }
 15345  
 15346  // String returns the string representation.
 15347  //
 15348  // API parameter values that are decorated as "sensitive" in the API will not
 15349  // be included in the string output. The member name will be present, but the
 15350  // value will be replaced with "sensitive".
 15351  func (s ProtectiveEquipmentSummary) String() string {
 15352  	return awsutil.Prettify(s)
 15353  }
 15354  
 15355  // GoString returns the string representation.
 15356  //
 15357  // API parameter values that are decorated as "sensitive" in the API will not
 15358  // be included in the string output. The member name will be present, but the
 15359  // value will be replaced with "sensitive".
 15360  func (s ProtectiveEquipmentSummary) GoString() string {
 15361  	return s.String()
 15362  }
 15363  
 15364  // SetPersonsIndeterminate sets the PersonsIndeterminate field's value.
 15365  func (s *ProtectiveEquipmentSummary) SetPersonsIndeterminate(v []*int64) *ProtectiveEquipmentSummary {
 15366  	s.PersonsIndeterminate = v
 15367  	return s
 15368  }
 15369  
 15370  // SetPersonsWithRequiredEquipment sets the PersonsWithRequiredEquipment field's value.
 15371  func (s *ProtectiveEquipmentSummary) SetPersonsWithRequiredEquipment(v []*int64) *ProtectiveEquipmentSummary {
 15372  	s.PersonsWithRequiredEquipment = v
 15373  	return s
 15374  }
 15375  
 15376  // SetPersonsWithoutRequiredEquipment sets the PersonsWithoutRequiredEquipment field's value.
 15377  func (s *ProtectiveEquipmentSummary) SetPersonsWithoutRequiredEquipment(v []*int64) *ProtectiveEquipmentSummary {
 15378  	s.PersonsWithoutRequiredEquipment = v
 15379  	return s
 15380  }
 15381  
 15382  // The number of requests exceeded your throughput limit. If you want to increase
 15383  // this limit, contact Amazon Rekognition.
 15384  type ProvisionedThroughputExceededException struct {
 15385  	_            struct{}                  `type:"structure"`
 15386  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15387  
 15388  	Message_ *string `locationName:"message" type:"string"`
 15389  }
 15390  
 15391  // String returns the string representation.
 15392  //
 15393  // API parameter values that are decorated as "sensitive" in the API will not
 15394  // be included in the string output. The member name will be present, but the
 15395  // value will be replaced with "sensitive".
 15396  func (s ProvisionedThroughputExceededException) String() string {
 15397  	return awsutil.Prettify(s)
 15398  }
 15399  
 15400  // GoString returns the string representation.
 15401  //
 15402  // API parameter values that are decorated as "sensitive" in the API will not
 15403  // be included in the string output. The member name will be present, but the
 15404  // value will be replaced with "sensitive".
 15405  func (s ProvisionedThroughputExceededException) GoString() string {
 15406  	return s.String()
 15407  }
 15408  
 15409  func newErrorProvisionedThroughputExceededException(v protocol.ResponseMetadata) error {
 15410  	return &ProvisionedThroughputExceededException{
 15411  		RespMetadata: v,
 15412  	}
 15413  }
 15414  
 15415  // Code returns the exception type name.
 15416  func (s *ProvisionedThroughputExceededException) Code() string {
 15417  	return "ProvisionedThroughputExceededException"
 15418  }
 15419  
 15420  // Message returns the exception's message.
 15421  func (s *ProvisionedThroughputExceededException) Message() string {
 15422  	if s.Message_ != nil {
 15423  		return *s.Message_
 15424  	}
 15425  	return ""
 15426  }
 15427  
 15428  // OrigErr always returns nil, satisfies awserr.Error interface.
 15429  func (s *ProvisionedThroughputExceededException) OrigErr() error {
 15430  	return nil
 15431  }
 15432  
 15433  func (s *ProvisionedThroughputExceededException) Error() string {
 15434  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15435  }
 15436  
 15437  // Status code returns the HTTP status code for the request's response error.
 15438  func (s *ProvisionedThroughputExceededException) StatusCode() int {
 15439  	return s.RespMetadata.StatusCode
 15440  }
 15441  
 15442  // RequestID returns the service's response RequestID for request.
 15443  func (s *ProvisionedThroughputExceededException) RequestID() string {
 15444  	return s.RespMetadata.RequestID
 15445  }
 15446  
 15447  type RecognizeCelebritiesInput struct {
 15448  	_ struct{} `type:"structure"`
 15449  
 15450  	// The input image as base64-encoded bytes or an S3 object. If you use the AWS
 15451  	// CLI to call Amazon Rekognition operations, passing base64-encoded image bytes
 15452  	// is not supported.
 15453  	//
 15454  	// If you are using an AWS SDK to call Amazon Rekognition, you might not need
 15455  	// to base64-encode image bytes passed using the Bytes field. For more information,
 15456  	// see Images in the Amazon Rekognition developer guide.
 15457  	//
 15458  	// Image is a required field
 15459  	Image *Image `type:"structure" required:"true"`
 15460  }
 15461  
 15462  // String returns the string representation.
 15463  //
 15464  // API parameter values that are decorated as "sensitive" in the API will not
 15465  // be included in the string output. The member name will be present, but the
 15466  // value will be replaced with "sensitive".
 15467  func (s RecognizeCelebritiesInput) String() string {
 15468  	return awsutil.Prettify(s)
 15469  }
 15470  
 15471  // GoString returns the string representation.
 15472  //
 15473  // API parameter values that are decorated as "sensitive" in the API will not
 15474  // be included in the string output. The member name will be present, but the
 15475  // value will be replaced with "sensitive".
 15476  func (s RecognizeCelebritiesInput) GoString() string {
 15477  	return s.String()
 15478  }
 15479  
 15480  // Validate inspects the fields of the type to determine if they are valid.
 15481  func (s *RecognizeCelebritiesInput) Validate() error {
 15482  	invalidParams := request.ErrInvalidParams{Context: "RecognizeCelebritiesInput"}
 15483  	if s.Image == nil {
 15484  		invalidParams.Add(request.NewErrParamRequired("Image"))
 15485  	}
 15486  	if s.Image != nil {
 15487  		if err := s.Image.Validate(); err != nil {
 15488  			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
 15489  		}
 15490  	}
 15491  
 15492  	if invalidParams.Len() > 0 {
 15493  		return invalidParams
 15494  	}
 15495  	return nil
 15496  }
 15497  
 15498  // SetImage sets the Image field's value.
 15499  func (s *RecognizeCelebritiesInput) SetImage(v *Image) *RecognizeCelebritiesInput {
 15500  	s.Image = v
 15501  	return s
 15502  }
 15503  
 15504  type RecognizeCelebritiesOutput struct {
 15505  	_ struct{} `type:"structure"`
 15506  
 15507  	// Details about each celebrity found in the image. Amazon Rekognition can detect
 15508  	// a maximum of 64 celebrities in an image. Each celebrity object includes the
 15509  	// following attributes: Face, Confidence, Emotions, Landmarks, Pose, Quality,
 15510  	// Smile, Id, KnownGender, MatchConfidence, Name, Urls.
 15511  	CelebrityFaces []*Celebrity `type:"list"`
 15512  
 15513  	//
 15514  	// Support for estimating image orientation using the the OrientationCorrection
 15515  	// field has ceased as of August 2021. Any returned values for this field included
 15516  	// in an API response will always be NULL.
 15517  	//
 15518  	// The orientation of the input image (counterclockwise direction). If your
 15519  	// application displays the image, you can use this value to correct the orientation.
 15520  	// The bounding box coordinates returned in CelebrityFaces and UnrecognizedFaces
 15521  	// represent face locations before the image orientation is corrected.
 15522  	//
 15523  	// If the input image is in .jpeg format, it might contain exchangeable image
 15524  	// (Exif) metadata that includes the image's orientation. If so, and the Exif
 15525  	// metadata for the input image populates the orientation field, the value of
 15526  	// OrientationCorrection is null. The CelebrityFaces and UnrecognizedFaces bounding
 15527  	// box coordinates represent face locations after Exif metadata is used to correct
 15528  	// the image orientation. Images in .png format don't contain Exif metadata.
 15529  	OrientationCorrection *string `type:"string" enum:"OrientationCorrection"`
 15530  
 15531  	// Details about each unrecognized face in the image.
 15532  	UnrecognizedFaces []*ComparedFace `type:"list"`
 15533  }
 15534  
 15535  // String returns the string representation.
 15536  //
 15537  // API parameter values that are decorated as "sensitive" in the API will not
 15538  // be included in the string output. The member name will be present, but the
 15539  // value will be replaced with "sensitive".
 15540  func (s RecognizeCelebritiesOutput) String() string {
 15541  	return awsutil.Prettify(s)
 15542  }
 15543  
 15544  // GoString returns the string representation.
 15545  //
 15546  // API parameter values that are decorated as "sensitive" in the API will not
 15547  // be included in the string output. The member name will be present, but the
 15548  // value will be replaced with "sensitive".
 15549  func (s RecognizeCelebritiesOutput) GoString() string {
 15550  	return s.String()
 15551  }
 15552  
 15553  // SetCelebrityFaces sets the CelebrityFaces field's value.
 15554  func (s *RecognizeCelebritiesOutput) SetCelebrityFaces(v []*Celebrity) *RecognizeCelebritiesOutput {
 15555  	s.CelebrityFaces = v
 15556  	return s
 15557  }
 15558  
 15559  // SetOrientationCorrection sets the OrientationCorrection field's value.
 15560  func (s *RecognizeCelebritiesOutput) SetOrientationCorrection(v string) *RecognizeCelebritiesOutput {
 15561  	s.OrientationCorrection = &v
 15562  	return s
 15563  }
 15564  
 15565  // SetUnrecognizedFaces sets the UnrecognizedFaces field's value.
 15566  func (s *RecognizeCelebritiesOutput) SetUnrecognizedFaces(v []*ComparedFace) *RecognizeCelebritiesOutput {
 15567  	s.UnrecognizedFaces = v
 15568  	return s
 15569  }
 15570  
 15571  // Specifies a location within the frame that Rekognition checks for text. Uses
 15572  // a BoundingBox object to set a region of the screen.
 15573  //
 15574  // A word is included in the region if the word is more than half in that region.
 15575  // If there is more than one region, the word will be compared with all regions
 15576  // of the screen. Any word more than half in a region is kept in the results.
 15577  type RegionOfInterest struct {
 15578  	_ struct{} `type:"structure"`
 15579  
 15580  	// The box representing a region of interest on screen.
 15581  	BoundingBox *BoundingBox `type:"structure"`
 15582  }
 15583  
 15584  // String returns the string representation.
 15585  //
 15586  // API parameter values that are decorated as "sensitive" in the API will not
 15587  // be included in the string output. The member name will be present, but the
 15588  // value will be replaced with "sensitive".
 15589  func (s RegionOfInterest) String() string {
 15590  	return awsutil.Prettify(s)
 15591  }
 15592  
 15593  // GoString returns the string representation.
 15594  //
 15595  // API parameter values that are decorated as "sensitive" in the API will not
 15596  // be included in the string output. The member name will be present, but the
 15597  // value will be replaced with "sensitive".
 15598  func (s RegionOfInterest) GoString() string {
 15599  	return s.String()
 15600  }
 15601  
 15602  // SetBoundingBox sets the BoundingBox field's value.
 15603  func (s *RegionOfInterest) SetBoundingBox(v *BoundingBox) *RegionOfInterest {
 15604  	s.BoundingBox = v
 15605  	return s
 15606  }
 15607  
 15608  // A resource with the specified ID already exists.
 15609  type ResourceAlreadyExistsException struct {
 15610  	_            struct{}                  `type:"structure"`
 15611  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15612  
 15613  	Message_ *string `locationName:"message" type:"string"`
 15614  }
 15615  
 15616  // String returns the string representation.
 15617  //
 15618  // API parameter values that are decorated as "sensitive" in the API will not
 15619  // be included in the string output. The member name will be present, but the
 15620  // value will be replaced with "sensitive".
 15621  func (s ResourceAlreadyExistsException) String() string {
 15622  	return awsutil.Prettify(s)
 15623  }
 15624  
 15625  // GoString returns the string representation.
 15626  //
 15627  // API parameter values that are decorated as "sensitive" in the API will not
 15628  // be included in the string output. The member name will be present, but the
 15629  // value will be replaced with "sensitive".
 15630  func (s ResourceAlreadyExistsException) GoString() string {
 15631  	return s.String()
 15632  }
 15633  
 15634  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
 15635  	return &ResourceAlreadyExistsException{
 15636  		RespMetadata: v,
 15637  	}
 15638  }
 15639  
 15640  // Code returns the exception type name.
 15641  func (s *ResourceAlreadyExistsException) Code() string {
 15642  	return "ResourceAlreadyExistsException"
 15643  }
 15644  
 15645  // Message returns the exception's message.
 15646  func (s *ResourceAlreadyExistsException) Message() string {
 15647  	if s.Message_ != nil {
 15648  		return *s.Message_
 15649  	}
 15650  	return ""
 15651  }
 15652  
 15653  // OrigErr always returns nil, satisfies awserr.Error interface.
 15654  func (s *ResourceAlreadyExistsException) OrigErr() error {
 15655  	return nil
 15656  }
 15657  
 15658  func (s *ResourceAlreadyExistsException) Error() string {
 15659  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15660  }
 15661  
 15662  // Status code returns the HTTP status code for the request's response error.
 15663  func (s *ResourceAlreadyExistsException) StatusCode() int {
 15664  	return s.RespMetadata.StatusCode
 15665  }
 15666  
 15667  // RequestID returns the service's response RequestID for request.
 15668  func (s *ResourceAlreadyExistsException) RequestID() string {
 15669  	return s.RespMetadata.RequestID
 15670  }
 15671  
 15672  // The specified resource is already being used.
 15673  type ResourceInUseException struct {
 15674  	_            struct{}                  `type:"structure"`
 15675  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15676  
 15677  	Message_ *string `locationName:"message" type:"string"`
 15678  }
 15679  
 15680  // String returns the string representation.
 15681  //
 15682  // API parameter values that are decorated as "sensitive" in the API will not
 15683  // be included in the string output. The member name will be present, but the
 15684  // value will be replaced with "sensitive".
 15685  func (s ResourceInUseException) String() string {
 15686  	return awsutil.Prettify(s)
 15687  }
 15688  
 15689  // GoString returns the string representation.
 15690  //
 15691  // API parameter values that are decorated as "sensitive" in the API will not
 15692  // be included in the string output. The member name will be present, but the
 15693  // value will be replaced with "sensitive".
 15694  func (s ResourceInUseException) GoString() string {
 15695  	return s.String()
 15696  }
 15697  
 15698  func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
 15699  	return &ResourceInUseException{
 15700  		RespMetadata: v,
 15701  	}
 15702  }
 15703  
 15704  // Code returns the exception type name.
 15705  func (s *ResourceInUseException) Code() string {
 15706  	return "ResourceInUseException"
 15707  }
 15708  
 15709  // Message returns the exception's message.
 15710  func (s *ResourceInUseException) Message() string {
 15711  	if s.Message_ != nil {
 15712  		return *s.Message_
 15713  	}
 15714  	return ""
 15715  }
 15716  
 15717  // OrigErr always returns nil, satisfies awserr.Error interface.
 15718  func (s *ResourceInUseException) OrigErr() error {
 15719  	return nil
 15720  }
 15721  
 15722  func (s *ResourceInUseException) Error() string {
 15723  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15724  }
 15725  
 15726  // Status code returns the HTTP status code for the request's response error.
 15727  func (s *ResourceInUseException) StatusCode() int {
 15728  	return s.RespMetadata.StatusCode
 15729  }
 15730  
 15731  // RequestID returns the service's response RequestID for request.
 15732  func (s *ResourceInUseException) RequestID() string {
 15733  	return s.RespMetadata.RequestID
 15734  }
 15735  
 15736  // The resource specified in the request cannot be found.
 15737  type ResourceNotFoundException struct {
 15738  	_            struct{}                  `type:"structure"`
 15739  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15740  
 15741  	Message_ *string `locationName:"message" type:"string"`
 15742  }
 15743  
 15744  // String returns the string representation.
 15745  //
 15746  // API parameter values that are decorated as "sensitive" in the API will not
 15747  // be included in the string output. The member name will be present, but the
 15748  // value will be replaced with "sensitive".
 15749  func (s ResourceNotFoundException) String() string {
 15750  	return awsutil.Prettify(s)
 15751  }
 15752  
 15753  // GoString returns the string representation.
 15754  //
 15755  // API parameter values that are decorated as "sensitive" in the API will not
 15756  // be included in the string output. The member name will be present, but the
 15757  // value will be replaced with "sensitive".
 15758  func (s ResourceNotFoundException) GoString() string {
 15759  	return s.String()
 15760  }
 15761  
 15762  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 15763  	return &ResourceNotFoundException{
 15764  		RespMetadata: v,
 15765  	}
 15766  }
 15767  
 15768  // Code returns the exception type name.
 15769  func (s *ResourceNotFoundException) Code() string {
 15770  	return "ResourceNotFoundException"
 15771  }
 15772  
 15773  // Message returns the exception's message.
 15774  func (s *ResourceNotFoundException) Message() string {
 15775  	if s.Message_ != nil {
 15776  		return *s.Message_
 15777  	}
 15778  	return ""
 15779  }
 15780  
 15781  // OrigErr always returns nil, satisfies awserr.Error interface.
 15782  func (s *ResourceNotFoundException) OrigErr() error {
 15783  	return nil
 15784  }
 15785  
 15786  func (s *ResourceNotFoundException) Error() string {
 15787  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15788  }
 15789  
 15790  // Status code returns the HTTP status code for the request's response error.
 15791  func (s *ResourceNotFoundException) StatusCode() int {
 15792  	return s.RespMetadata.StatusCode
 15793  }
 15794  
 15795  // RequestID returns the service's response RequestID for request.
 15796  func (s *ResourceNotFoundException) RequestID() string {
 15797  	return s.RespMetadata.RequestID
 15798  }
 15799  
 15800  // The requested resource isn't ready. For example, this exception occurs when
 15801  // you call DetectCustomLabels with a model version that isn't deployed.
 15802  type ResourceNotReadyException struct {
 15803  	_            struct{}                  `type:"structure"`
 15804  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15805  
 15806  	Message_ *string `locationName:"message" type:"string"`
 15807  }
 15808  
 15809  // String returns the string representation.
 15810  //
 15811  // API parameter values that are decorated as "sensitive" in the API will not
 15812  // be included in the string output. The member name will be present, but the
 15813  // value will be replaced with "sensitive".
 15814  func (s ResourceNotReadyException) String() string {
 15815  	return awsutil.Prettify(s)
 15816  }
 15817  
 15818  // GoString returns the string representation.
 15819  //
 15820  // API parameter values that are decorated as "sensitive" in the API will not
 15821  // be included in the string output. The member name will be present, but the
 15822  // value will be replaced with "sensitive".
 15823  func (s ResourceNotReadyException) GoString() string {
 15824  	return s.String()
 15825  }
 15826  
 15827  func newErrorResourceNotReadyException(v protocol.ResponseMetadata) error {
 15828  	return &ResourceNotReadyException{
 15829  		RespMetadata: v,
 15830  	}
 15831  }
 15832  
 15833  // Code returns the exception type name.
 15834  func (s *ResourceNotReadyException) Code() string {
 15835  	return "ResourceNotReadyException"
 15836  }
 15837  
 15838  // Message returns the exception's message.
 15839  func (s *ResourceNotReadyException) Message() string {
 15840  	if s.Message_ != nil {
 15841  		return *s.Message_
 15842  	}
 15843  	return ""
 15844  }
 15845  
 15846  // OrigErr always returns nil, satisfies awserr.Error interface.
 15847  func (s *ResourceNotReadyException) OrigErr() error {
 15848  	return nil
 15849  }
 15850  
 15851  func (s *ResourceNotReadyException) Error() string {
 15852  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15853  }
 15854  
 15855  // Status code returns the HTTP status code for the request's response error.
 15856  func (s *ResourceNotReadyException) StatusCode() int {
 15857  	return s.RespMetadata.StatusCode
 15858  }
 15859  
 15860  // RequestID returns the service's response RequestID for request.
 15861  func (s *ResourceNotReadyException) RequestID() string {
 15862  	return s.RespMetadata.RequestID
 15863  }
 15864  
 15865  // Provides the S3 bucket name and object name.
 15866  //
 15867  // The region for the S3 bucket containing the S3 object must match the region
 15868  // you use for Amazon Rekognition operations.
 15869  //
 15870  // For Amazon Rekognition to process an S3 object, the user must have permission
 15871  // to access the S3 object. For more information, see Resource-Based Policies
 15872  // in the Amazon Rekognition Developer Guide.
 15873  type S3Object struct {
 15874  	_ struct{} `type:"structure"`
 15875  
 15876  	// Name of the S3 bucket.
 15877  	Bucket *string `min:"3" type:"string"`
 15878  
 15879  	// S3 object key name.
 15880  	Name *string `min:"1" type:"string"`
 15881  
 15882  	// If the bucket is versioning enabled, you can specify the object version.
 15883  	Version *string `min:"1" type:"string"`
 15884  }
 15885  
 15886  // String returns the string representation.
 15887  //
 15888  // API parameter values that are decorated as "sensitive" in the API will not
 15889  // be included in the string output. The member name will be present, but the
 15890  // value will be replaced with "sensitive".
 15891  func (s S3Object) String() string {
 15892  	return awsutil.Prettify(s)
 15893  }
 15894  
 15895  // GoString returns the string representation.
 15896  //
 15897  // API parameter values that are decorated as "sensitive" in the API will not
 15898  // be included in the string output. The member name will be present, but the
 15899  // value will be replaced with "sensitive".
 15900  func (s S3Object) GoString() string {
 15901  	return s.String()
 15902  }
 15903  
 15904  // Validate inspects the fields of the type to determine if they are valid.
 15905  func (s *S3Object) Validate() error {
 15906  	invalidParams := request.ErrInvalidParams{Context: "S3Object"}
 15907  	if s.Bucket != nil && len(*s.Bucket) < 3 {
 15908  		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
 15909  	}
 15910  	if s.Name != nil && len(*s.Name) < 1 {
 15911  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 15912  	}
 15913  	if s.Version != nil && len(*s.Version) < 1 {
 15914  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
 15915  	}
 15916  
 15917  	if invalidParams.Len() > 0 {
 15918  		return invalidParams
 15919  	}
 15920  	return nil
 15921  }
 15922  
 15923  // SetBucket sets the Bucket field's value.
 15924  func (s *S3Object) SetBucket(v string) *S3Object {
 15925  	s.Bucket = &v
 15926  	return s
 15927  }
 15928  
 15929  // SetName sets the Name field's value.
 15930  func (s *S3Object) SetName(v string) *S3Object {
 15931  	s.Name = &v
 15932  	return s
 15933  }
 15934  
 15935  // SetVersion sets the Version field's value.
 15936  func (s *S3Object) SetVersion(v string) *S3Object {
 15937  	s.Version = &v
 15938  	return s
 15939  }
 15940  
 15941  type SearchFacesByImageInput struct {
 15942  	_ struct{} `type:"structure"`
 15943  
 15944  	// ID of the collection to search.
 15945  	//
 15946  	// CollectionId is a required field
 15947  	CollectionId *string `min:"1" type:"string" required:"true"`
 15948  
 15949  	// (Optional) Specifies the minimum confidence in the face match to return.
 15950  	// For example, don't return any matches where confidence in matches is less
 15951  	// than 70%. The default value is 80%.
 15952  	FaceMatchThreshold *float64 `type:"float"`
 15953  
 15954  	// The input image as base64-encoded bytes or an S3 object. If you use the AWS
 15955  	// CLI to call Amazon Rekognition operations, passing base64-encoded image bytes
 15956  	// is not supported.
 15957  	//
 15958  	// If you are using an AWS SDK to call Amazon Rekognition, you might not need
 15959  	// to base64-encode image bytes passed using the Bytes field. For more information,
 15960  	// see Images in the Amazon Rekognition developer guide.
 15961  	//
 15962  	// Image is a required field
 15963  	Image *Image `type:"structure" required:"true"`
 15964  
 15965  	// Maximum number of faces to return. The operation returns the maximum number
 15966  	// of faces with the highest confidence in the match.
 15967  	MaxFaces *int64 `min:"1" type:"integer"`
 15968  
 15969  	// A filter that specifies a quality bar for how much filtering is done to identify
 15970  	// faces. Filtered faces aren't searched for in the collection. If you specify
 15971  	// AUTO, Amazon Rekognition chooses the quality bar. If you specify LOW, MEDIUM,
 15972  	// or HIGH, filtering removes all faces that don’t meet the chosen quality
 15973  	// bar. The quality bar is based on a variety of common use cases. Low-quality
 15974  	// detections can occur for a number of reasons. Some examples are an object
 15975  	// that's misidentified as a face, a face that's too blurry, or a face with
 15976  	// a pose that's too extreme to use. If you specify NONE, no filtering is performed.
 15977  	// The default value is NONE.
 15978  	//
 15979  	// To use quality filtering, the collection you are using must be associated
 15980  	// with version 3 of the face model or higher.
 15981  	QualityFilter *string `type:"string" enum:"QualityFilter"`
 15982  }
 15983  
 15984  // String returns the string representation.
 15985  //
 15986  // API parameter values that are decorated as "sensitive" in the API will not
 15987  // be included in the string output. The member name will be present, but the
 15988  // value will be replaced with "sensitive".
 15989  func (s SearchFacesByImageInput) String() string {
 15990  	return awsutil.Prettify(s)
 15991  }
 15992  
 15993  // GoString returns the string representation.
 15994  //
 15995  // API parameter values that are decorated as "sensitive" in the API will not
 15996  // be included in the string output. The member name will be present, but the
 15997  // value will be replaced with "sensitive".
 15998  func (s SearchFacesByImageInput) GoString() string {
 15999  	return s.String()
 16000  }
 16001  
 16002  // Validate inspects the fields of the type to determine if they are valid.
 16003  func (s *SearchFacesByImageInput) Validate() error {
 16004  	invalidParams := request.ErrInvalidParams{Context: "SearchFacesByImageInput"}
 16005  	if s.CollectionId == nil {
 16006  		invalidParams.Add(request.NewErrParamRequired("CollectionId"))
 16007  	}
 16008  	if s.CollectionId != nil && len(*s.CollectionId) < 1 {
 16009  		invalidParams.Add(request.NewErrParamMinLen("CollectionId", 1))
 16010  	}
 16011  	if s.Image == nil {
 16012  		invalidParams.Add(request.NewErrParamRequired("Image"))
 16013  	}
 16014  	if s.MaxFaces != nil && *s.MaxFaces < 1 {
 16015  		invalidParams.Add(request.NewErrParamMinValue("MaxFaces", 1))
 16016  	}
 16017  	if s.Image != nil {
 16018  		if err := s.Image.Validate(); err != nil {
 16019  			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
 16020  		}
 16021  	}
 16022  
 16023  	if invalidParams.Len() > 0 {
 16024  		return invalidParams
 16025  	}
 16026  	return nil
 16027  }
 16028  
 16029  // SetCollectionId sets the CollectionId field's value.
 16030  func (s *SearchFacesByImageInput) SetCollectionId(v string) *SearchFacesByImageInput {
 16031  	s.CollectionId = &v
 16032  	return s
 16033  }
 16034  
 16035  // SetFaceMatchThreshold sets the FaceMatchThreshold field's value.
 16036  func (s *SearchFacesByImageInput) SetFaceMatchThreshold(v float64) *SearchFacesByImageInput {
 16037  	s.FaceMatchThreshold = &v
 16038  	return s
 16039  }
 16040  
 16041  // SetImage sets the Image field's value.
 16042  func (s *SearchFacesByImageInput) SetImage(v *Image) *SearchFacesByImageInput {
 16043  	s.Image = v
 16044  	return s
 16045  }
 16046  
 16047  // SetMaxFaces sets the MaxFaces field's value.
 16048  func (s *SearchFacesByImageInput) SetMaxFaces(v int64) *SearchFacesByImageInput {
 16049  	s.MaxFaces = &v
 16050  	return s
 16051  }
 16052  
 16053  // SetQualityFilter sets the QualityFilter field's value.
 16054  func (s *SearchFacesByImageInput) SetQualityFilter(v string) *SearchFacesByImageInput {
 16055  	s.QualityFilter = &v
 16056  	return s
 16057  }
 16058  
 16059  type SearchFacesByImageOutput struct {
 16060  	_ struct{} `type:"structure"`
 16061  
 16062  	// An array of faces that match the input face, along with the confidence in
 16063  	// the match.
 16064  	FaceMatches []*FaceMatch `type:"list"`
 16065  
 16066  	// Version number of the face detection model associated with the input collection
 16067  	// (CollectionId).
 16068  	FaceModelVersion *string `type:"string"`
 16069  
 16070  	// The bounding box around the face in the input image that Amazon Rekognition
 16071  	// used for the search.
 16072  	SearchedFaceBoundingBox *BoundingBox `type:"structure"`
 16073  
 16074  	// The level of confidence that the searchedFaceBoundingBox, contains a face.
 16075  	SearchedFaceConfidence *float64 `type:"float"`
 16076  }
 16077  
 16078  // String returns the string representation.
 16079  //
 16080  // API parameter values that are decorated as "sensitive" in the API will not
 16081  // be included in the string output. The member name will be present, but the
 16082  // value will be replaced with "sensitive".
 16083  func (s SearchFacesByImageOutput) String() string {
 16084  	return awsutil.Prettify(s)
 16085  }
 16086  
 16087  // GoString returns the string representation.
 16088  //
 16089  // API parameter values that are decorated as "sensitive" in the API will not
 16090  // be included in the string output. The member name will be present, but the
 16091  // value will be replaced with "sensitive".
 16092  func (s SearchFacesByImageOutput) GoString() string {
 16093  	return s.String()
 16094  }
 16095  
 16096  // SetFaceMatches sets the FaceMatches field's value.
 16097  func (s *SearchFacesByImageOutput) SetFaceMatches(v []*FaceMatch) *SearchFacesByImageOutput {
 16098  	s.FaceMatches = v
 16099  	return s
 16100  }
 16101  
 16102  // SetFaceModelVersion sets the FaceModelVersion field's value.
 16103  func (s *SearchFacesByImageOutput) SetFaceModelVersion(v string) *SearchFacesByImageOutput {
 16104  	s.FaceModelVersion = &v
 16105  	return s
 16106  }
 16107  
 16108  // SetSearchedFaceBoundingBox sets the SearchedFaceBoundingBox field's value.
 16109  func (s *SearchFacesByImageOutput) SetSearchedFaceBoundingBox(v *BoundingBox) *SearchFacesByImageOutput {
 16110  	s.SearchedFaceBoundingBox = v
 16111  	return s
 16112  }
 16113  
 16114  // SetSearchedFaceConfidence sets the SearchedFaceConfidence field's value.
 16115  func (s *SearchFacesByImageOutput) SetSearchedFaceConfidence(v float64) *SearchFacesByImageOutput {
 16116  	s.SearchedFaceConfidence = &v
 16117  	return s
 16118  }
 16119  
 16120  type SearchFacesInput struct {
 16121  	_ struct{} `type:"structure"`
 16122  
 16123  	// ID of the collection the face belongs to.
 16124  	//
 16125  	// CollectionId is a required field
 16126  	CollectionId *string `min:"1" type:"string" required:"true"`
 16127  
 16128  	// ID of a face to find matches for in the collection.
 16129  	//
 16130  	// FaceId is a required field
 16131  	FaceId *string `type:"string" required:"true"`
 16132  
 16133  	// Optional value specifying the minimum confidence in the face match to return.
 16134  	// For example, don't return any matches where confidence in matches is less
 16135  	// than 70%. The default value is 80%.
 16136  	FaceMatchThreshold *float64 `type:"float"`
 16137  
 16138  	// Maximum number of faces to return. The operation returns the maximum number
 16139  	// of faces with the highest confidence in the match.
 16140  	MaxFaces *int64 `min:"1" type:"integer"`
 16141  }
 16142  
 16143  // String returns the string representation.
 16144  //
 16145  // API parameter values that are decorated as "sensitive" in the API will not
 16146  // be included in the string output. The member name will be present, but the
 16147  // value will be replaced with "sensitive".
 16148  func (s SearchFacesInput) String() string {
 16149  	return awsutil.Prettify(s)
 16150  }
 16151  
 16152  // GoString returns the string representation.
 16153  //
 16154  // API parameter values that are decorated as "sensitive" in the API will not
 16155  // be included in the string output. The member name will be present, but the
 16156  // value will be replaced with "sensitive".
 16157  func (s SearchFacesInput) GoString() string {
 16158  	return s.String()
 16159  }
 16160  
 16161  // Validate inspects the fields of the type to determine if they are valid.
 16162  func (s *SearchFacesInput) Validate() error {
 16163  	invalidParams := request.ErrInvalidParams{Context: "SearchFacesInput"}
 16164  	if s.CollectionId == nil {
 16165  		invalidParams.Add(request.NewErrParamRequired("CollectionId"))
 16166  	}
 16167  	if s.CollectionId != nil && len(*s.CollectionId) < 1 {
 16168  		invalidParams.Add(request.NewErrParamMinLen("CollectionId", 1))
 16169  	}
 16170  	if s.FaceId == nil {
 16171  		invalidParams.Add(request.NewErrParamRequired("FaceId"))
 16172  	}
 16173  	if s.MaxFaces != nil && *s.MaxFaces < 1 {
 16174  		invalidParams.Add(request.NewErrParamMinValue("MaxFaces", 1))
 16175  	}
 16176  
 16177  	if invalidParams.Len() > 0 {
 16178  		return invalidParams
 16179  	}
 16180  	return nil
 16181  }
 16182  
 16183  // SetCollectionId sets the CollectionId field's value.
 16184  func (s *SearchFacesInput) SetCollectionId(v string) *SearchFacesInput {
 16185  	s.CollectionId = &v
 16186  	return s
 16187  }
 16188  
 16189  // SetFaceId sets the FaceId field's value.
 16190  func (s *SearchFacesInput) SetFaceId(v string) *SearchFacesInput {
 16191  	s.FaceId = &v
 16192  	return s
 16193  }
 16194  
 16195  // SetFaceMatchThreshold sets the FaceMatchThreshold field's value.
 16196  func (s *SearchFacesInput) SetFaceMatchThreshold(v float64) *SearchFacesInput {
 16197  	s.FaceMatchThreshold = &v
 16198  	return s
 16199  }
 16200  
 16201  // SetMaxFaces sets the MaxFaces field's value.
 16202  func (s *SearchFacesInput) SetMaxFaces(v int64) *SearchFacesInput {
 16203  	s.MaxFaces = &v
 16204  	return s
 16205  }
 16206  
 16207  type SearchFacesOutput struct {
 16208  	_ struct{} `type:"structure"`
 16209  
 16210  	// An array of faces that matched the input face, along with the confidence
 16211  	// in the match.
 16212  	FaceMatches []*FaceMatch `type:"list"`
 16213  
 16214  	// Version number of the face detection model associated with the input collection
 16215  	// (CollectionId).
 16216  	FaceModelVersion *string `type:"string"`
 16217  
 16218  	// ID of the face that was searched for matches in a collection.
 16219  	SearchedFaceId *string `type:"string"`
 16220  }
 16221  
 16222  // String returns the string representation.
 16223  //
 16224  // API parameter values that are decorated as "sensitive" in the API will not
 16225  // be included in the string output. The member name will be present, but the
 16226  // value will be replaced with "sensitive".
 16227  func (s SearchFacesOutput) String() string {
 16228  	return awsutil.Prettify(s)
 16229  }
 16230  
 16231  // GoString returns the string representation.
 16232  //
 16233  // API parameter values that are decorated as "sensitive" in the API will not
 16234  // be included in the string output. The member name will be present, but the
 16235  // value will be replaced with "sensitive".
 16236  func (s SearchFacesOutput) GoString() string {
 16237  	return s.String()
 16238  }
 16239  
 16240  // SetFaceMatches sets the FaceMatches field's value.
 16241  func (s *SearchFacesOutput) SetFaceMatches(v []*FaceMatch) *SearchFacesOutput {
 16242  	s.FaceMatches = v
 16243  	return s
 16244  }
 16245  
 16246  // SetFaceModelVersion sets the FaceModelVersion field's value.
 16247  func (s *SearchFacesOutput) SetFaceModelVersion(v string) *SearchFacesOutput {
 16248  	s.FaceModelVersion = &v
 16249  	return s
 16250  }
 16251  
 16252  // SetSearchedFaceId sets the SearchedFaceId field's value.
 16253  func (s *SearchFacesOutput) SetSearchedFaceId(v string) *SearchFacesOutput {
 16254  	s.SearchedFaceId = &v
 16255  	return s
 16256  }
 16257  
 16258  // A technical cue or shot detection segment detected in a video. An array of
 16259  // SegmentDetection objects containing all segments detected in a stored video
 16260  // is returned by GetSegmentDetection.
 16261  type SegmentDetection struct {
 16262  	_ struct{} `type:"structure"`
 16263  
 16264  	// The duration of a video segment, expressed in frames.
 16265  	DurationFrames *int64 `type:"long"`
 16266  
 16267  	// The duration of the detected segment in milliseconds.
 16268  	DurationMillis *int64 `type:"long"`
 16269  
 16270  	// The duration of the timecode for the detected segment in SMPTE format.
 16271  	DurationSMPTE *string `type:"string"`
 16272  
 16273  	// The frame number at the end of a video segment, using a frame index that
 16274  	// starts with 0.
 16275  	EndFrameNumber *int64 `type:"long"`
 16276  
 16277  	// The frame-accurate SMPTE timecode, from the start of a video, for the end
 16278  	// of a detected segment. EndTimecode is in HH:MM:SS:fr format (and ;fr for
 16279  	// drop frame-rates).
 16280  	EndTimecodeSMPTE *string `type:"string"`
 16281  
 16282  	// The end time of the detected segment, in milliseconds, from the start of
 16283  	// the video. This value is rounded down.
 16284  	EndTimestampMillis *int64 `type:"long"`
 16285  
 16286  	// If the segment is a shot detection, contains information about the shot detection.
 16287  	ShotSegment *ShotSegment `type:"structure"`
 16288  
 16289  	// The frame number of the start of a video segment, using a frame index that
 16290  	// starts with 0.
 16291  	StartFrameNumber *int64 `type:"long"`
 16292  
 16293  	// The frame-accurate SMPTE timecode, from the start of a video, for the start
 16294  	// of a detected segment. StartTimecode is in HH:MM:SS:fr format (and ;fr for
 16295  	// drop frame-rates).
 16296  	StartTimecodeSMPTE *string `type:"string"`
 16297  
 16298  	// The start time of the detected segment in milliseconds from the start of
 16299  	// the video. This value is rounded down. For example, if the actual timestamp
 16300  	// is 100.6667 milliseconds, Amazon Rekognition Video returns a value of 100
 16301  	// millis.
 16302  	StartTimestampMillis *int64 `type:"long"`
 16303  
 16304  	// If the segment is a technical cue, contains information about the technical
 16305  	// cue.
 16306  	TechnicalCueSegment *TechnicalCueSegment `type:"structure"`
 16307  
 16308  	// The type of the segment. Valid values are TECHNICAL_CUE and SHOT.
 16309  	Type *string `type:"string" enum:"SegmentType"`
 16310  }
 16311  
 16312  // String returns the string representation.
 16313  //
 16314  // API parameter values that are decorated as "sensitive" in the API will not
 16315  // be included in the string output. The member name will be present, but the
 16316  // value will be replaced with "sensitive".
 16317  func (s SegmentDetection) String() string {
 16318  	return awsutil.Prettify(s)
 16319  }
 16320  
 16321  // GoString returns the string representation.
 16322  //
 16323  // API parameter values that are decorated as "sensitive" in the API will not
 16324  // be included in the string output. The member name will be present, but the
 16325  // value will be replaced with "sensitive".
 16326  func (s SegmentDetection) GoString() string {
 16327  	return s.String()
 16328  }
 16329  
 16330  // SetDurationFrames sets the DurationFrames field's value.
 16331  func (s *SegmentDetection) SetDurationFrames(v int64) *SegmentDetection {
 16332  	s.DurationFrames = &v
 16333  	return s
 16334  }
 16335  
 16336  // SetDurationMillis sets the DurationMillis field's value.
 16337  func (s *SegmentDetection) SetDurationMillis(v int64) *SegmentDetection {
 16338  	s.DurationMillis = &v
 16339  	return s
 16340  }
 16341  
 16342  // SetDurationSMPTE sets the DurationSMPTE field's value.
 16343  func (s *SegmentDetection) SetDurationSMPTE(v string) *SegmentDetection {
 16344  	s.DurationSMPTE = &v
 16345  	return s
 16346  }
 16347  
 16348  // SetEndFrameNumber sets the EndFrameNumber field's value.
 16349  func (s *SegmentDetection) SetEndFrameNumber(v int64) *SegmentDetection {
 16350  	s.EndFrameNumber = &v
 16351  	return s
 16352  }
 16353  
 16354  // SetEndTimecodeSMPTE sets the EndTimecodeSMPTE field's value.
 16355  func (s *SegmentDetection) SetEndTimecodeSMPTE(v string) *SegmentDetection {
 16356  	s.EndTimecodeSMPTE = &v
 16357  	return s
 16358  }
 16359  
 16360  // SetEndTimestampMillis sets the EndTimestampMillis field's value.
 16361  func (s *SegmentDetection) SetEndTimestampMillis(v int64) *SegmentDetection {
 16362  	s.EndTimestampMillis = &v
 16363  	return s
 16364  }
 16365  
 16366  // SetShotSegment sets the ShotSegment field's value.
 16367  func (s *SegmentDetection) SetShotSegment(v *ShotSegment) *SegmentDetection {
 16368  	s.ShotSegment = v
 16369  	return s
 16370  }
 16371  
 16372  // SetStartFrameNumber sets the StartFrameNumber field's value.
 16373  func (s *SegmentDetection) SetStartFrameNumber(v int64) *SegmentDetection {
 16374  	s.StartFrameNumber = &v
 16375  	return s
 16376  }
 16377  
 16378  // SetStartTimecodeSMPTE sets the StartTimecodeSMPTE field's value.
 16379  func (s *SegmentDetection) SetStartTimecodeSMPTE(v string) *SegmentDetection {
 16380  	s.StartTimecodeSMPTE = &v
 16381  	return s
 16382  }
 16383  
 16384  // SetStartTimestampMillis sets the StartTimestampMillis field's value.
 16385  func (s *SegmentDetection) SetStartTimestampMillis(v int64) *SegmentDetection {
 16386  	s.StartTimestampMillis = &v
 16387  	return s
 16388  }
 16389  
 16390  // SetTechnicalCueSegment sets the TechnicalCueSegment field's value.
 16391  func (s *SegmentDetection) SetTechnicalCueSegment(v *TechnicalCueSegment) *SegmentDetection {
 16392  	s.TechnicalCueSegment = v
 16393  	return s
 16394  }
 16395  
 16396  // SetType sets the Type field's value.
 16397  func (s *SegmentDetection) SetType(v string) *SegmentDetection {
 16398  	s.Type = &v
 16399  	return s
 16400  }
 16401  
 16402  // Information about the type of a segment requested in a call to StartSegmentDetection.
 16403  // An array of SegmentTypeInfo objects is returned by the response from GetSegmentDetection.
 16404  type SegmentTypeInfo struct {
 16405  	_ struct{} `type:"structure"`
 16406  
 16407  	// The version of the model used to detect segments.
 16408  	ModelVersion *string `type:"string"`
 16409  
 16410  	// The type of a segment (technical cue or shot detection).
 16411  	Type *string `type:"string" enum:"SegmentType"`
 16412  }
 16413  
 16414  // String returns the string representation.
 16415  //
 16416  // API parameter values that are decorated as "sensitive" in the API will not
 16417  // be included in the string output. The member name will be present, but the
 16418  // value will be replaced with "sensitive".
 16419  func (s SegmentTypeInfo) String() string {
 16420  	return awsutil.Prettify(s)
 16421  }
 16422  
 16423  // GoString returns the string representation.
 16424  //
 16425  // API parameter values that are decorated as "sensitive" in the API will not
 16426  // be included in the string output. The member name will be present, but the
 16427  // value will be replaced with "sensitive".
 16428  func (s SegmentTypeInfo) GoString() string {
 16429  	return s.String()
 16430  }
 16431  
 16432  // SetModelVersion sets the ModelVersion field's value.
 16433  func (s *SegmentTypeInfo) SetModelVersion(v string) *SegmentTypeInfo {
 16434  	s.ModelVersion = &v
 16435  	return s
 16436  }
 16437  
 16438  // SetType sets the Type field's value.
 16439  func (s *SegmentTypeInfo) SetType(v string) *SegmentTypeInfo {
 16440  	s.Type = &v
 16441  	return s
 16442  }
 16443  
 16444  // The size of the collection exceeds the allowed limit. For more information,
 16445  // see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.
 16446  type ServiceQuotaExceededException struct {
 16447  	_            struct{}                  `type:"structure"`
 16448  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16449  
 16450  	Message_ *string `locationName:"message" type:"string"`
 16451  }
 16452  
 16453  // String returns the string representation.
 16454  //
 16455  // API parameter values that are decorated as "sensitive" in the API will not
 16456  // be included in the string output. The member name will be present, but the
 16457  // value will be replaced with "sensitive".
 16458  func (s ServiceQuotaExceededException) String() string {
 16459  	return awsutil.Prettify(s)
 16460  }
 16461  
 16462  // GoString returns the string representation.
 16463  //
 16464  // API parameter values that are decorated as "sensitive" in the API will not
 16465  // be included in the string output. The member name will be present, but the
 16466  // value will be replaced with "sensitive".
 16467  func (s ServiceQuotaExceededException) GoString() string {
 16468  	return s.String()
 16469  }
 16470  
 16471  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
 16472  	return &ServiceQuotaExceededException{
 16473  		RespMetadata: v,
 16474  	}
 16475  }
 16476  
 16477  // Code returns the exception type name.
 16478  func (s *ServiceQuotaExceededException) Code() string {
 16479  	return "ServiceQuotaExceededException"
 16480  }
 16481  
 16482  // Message returns the exception's message.
 16483  func (s *ServiceQuotaExceededException) Message() string {
 16484  	if s.Message_ != nil {
 16485  		return *s.Message_
 16486  	}
 16487  	return ""
 16488  }
 16489  
 16490  // OrigErr always returns nil, satisfies awserr.Error interface.
 16491  func (s *ServiceQuotaExceededException) OrigErr() error {
 16492  	return nil
 16493  }
 16494  
 16495  func (s *ServiceQuotaExceededException) Error() string {
 16496  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 16497  }
 16498  
 16499  // Status code returns the HTTP status code for the request's response error.
 16500  func (s *ServiceQuotaExceededException) StatusCode() int {
 16501  	return s.RespMetadata.StatusCode
 16502  }
 16503  
 16504  // RequestID returns the service's response RequestID for request.
 16505  func (s *ServiceQuotaExceededException) RequestID() string {
 16506  	return s.RespMetadata.RequestID
 16507  }
 16508  
 16509  // Information about a shot detection segment detected in a video. For more
 16510  // information, see SegmentDetection.
 16511  type ShotSegment struct {
 16512  	_ struct{} `type:"structure"`
 16513  
 16514  	// The confidence that Amazon Rekognition Video has in the accuracy of the detected
 16515  	// segment.
 16516  	Confidence *float64 `min:"50" type:"float"`
 16517  
 16518  	// An Identifier for a shot detection segment detected in a video.
 16519  	Index *int64 `type:"long"`
 16520  }
 16521  
 16522  // String returns the string representation.
 16523  //
 16524  // API parameter values that are decorated as "sensitive" in the API will not
 16525  // be included in the string output. The member name will be present, but the
 16526  // value will be replaced with "sensitive".
 16527  func (s ShotSegment) String() string {
 16528  	return awsutil.Prettify(s)
 16529  }
 16530  
 16531  // GoString returns the string representation.
 16532  //
 16533  // API parameter values that are decorated as "sensitive" in the API will not
 16534  // be included in the string output. The member name will be present, but the
 16535  // value will be replaced with "sensitive".
 16536  func (s ShotSegment) GoString() string {
 16537  	return s.String()
 16538  }
 16539  
 16540  // SetConfidence sets the Confidence field's value.
 16541  func (s *ShotSegment) SetConfidence(v float64) *ShotSegment {
 16542  	s.Confidence = &v
 16543  	return s
 16544  }
 16545  
 16546  // SetIndex sets the Index field's value.
 16547  func (s *ShotSegment) SetIndex(v int64) *ShotSegment {
 16548  	s.Index = &v
 16549  	return s
 16550  }
 16551  
 16552  // Indicates whether or not the face is smiling, and the confidence level in
 16553  // the determination.
 16554  type Smile struct {
 16555  	_ struct{} `type:"structure"`
 16556  
 16557  	// Level of confidence in the determination.
 16558  	Confidence *float64 `type:"float"`
 16559  
 16560  	// Boolean value that indicates whether the face is smiling or not.
 16561  	Value *bool `type:"boolean"`
 16562  }
 16563  
 16564  // String returns the string representation.
 16565  //
 16566  // API parameter values that are decorated as "sensitive" in the API will not
 16567  // be included in the string output. The member name will be present, but the
 16568  // value will be replaced with "sensitive".
 16569  func (s Smile) String() string {
 16570  	return awsutil.Prettify(s)
 16571  }
 16572  
 16573  // GoString returns the string representation.
 16574  //
 16575  // API parameter values that are decorated as "sensitive" in the API will not
 16576  // be included in the string output. The member name will be present, but the
 16577  // value will be replaced with "sensitive".
 16578  func (s Smile) GoString() string {
 16579  	return s.String()
 16580  }
 16581  
 16582  // SetConfidence sets the Confidence field's value.
 16583  func (s *Smile) SetConfidence(v float64) *Smile {
 16584  	s.Confidence = &v
 16585  	return s
 16586  }
 16587  
 16588  // SetValue sets the Value field's value.
 16589  func (s *Smile) SetValue(v bool) *Smile {
 16590  	s.Value = &v
 16591  	return s
 16592  }
 16593  
 16594  type StartCelebrityRecognitionInput struct {
 16595  	_ struct{} `type:"structure"`
 16596  
 16597  	// Idempotent token used to identify the start request. If you use the same
 16598  	// token with multiple StartCelebrityRecognition requests, the same JobId is
 16599  	// returned. Use ClientRequestToken to prevent the same job from being accidently
 16600  	// started more than once.
 16601  	ClientRequestToken *string `min:"1" type:"string"`
 16602  
 16603  	// An identifier you specify that's returned in the completion notification
 16604  	// that's published to your Amazon Simple Notification Service topic. For example,
 16605  	// you can use JobTag to group related jobs and identify them in the completion
 16606  	// notification.
 16607  	JobTag *string `min:"1" type:"string"`
 16608  
 16609  	// The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish
 16610  	// the completion status of the celebrity recognition analysis to. The Amazon
 16611  	// SNS topic must have a topic name that begins with AmazonRekognition if you
 16612  	// are using the AmazonRekognitionServiceRole permissions policy.
 16613  	NotificationChannel *NotificationChannel `type:"structure"`
 16614  
 16615  	// The video in which you want to recognize celebrities. The video must be stored
 16616  	// in an Amazon S3 bucket.
 16617  	//
 16618  	// Video is a required field
 16619  	Video *Video `type:"structure" required:"true"`
 16620  }
 16621  
 16622  // String returns the string representation.
 16623  //
 16624  // API parameter values that are decorated as "sensitive" in the API will not
 16625  // be included in the string output. The member name will be present, but the
 16626  // value will be replaced with "sensitive".
 16627  func (s StartCelebrityRecognitionInput) String() string {
 16628  	return awsutil.Prettify(s)
 16629  }
 16630  
 16631  // GoString returns the string representation.
 16632  //
 16633  // API parameter values that are decorated as "sensitive" in the API will not
 16634  // be included in the string output. The member name will be present, but the
 16635  // value will be replaced with "sensitive".
 16636  func (s StartCelebrityRecognitionInput) GoString() string {
 16637  	return s.String()
 16638  }
 16639  
 16640  // Validate inspects the fields of the type to determine if they are valid.
 16641  func (s *StartCelebrityRecognitionInput) Validate() error {
 16642  	invalidParams := request.ErrInvalidParams{Context: "StartCelebrityRecognitionInput"}
 16643  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
 16644  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
 16645  	}
 16646  	if s.JobTag != nil && len(*s.JobTag) < 1 {
 16647  		invalidParams.Add(request.NewErrParamMinLen("JobTag", 1))
 16648  	}
 16649  	if s.Video == nil {
 16650  		invalidParams.Add(request.NewErrParamRequired("Video"))
 16651  	}
 16652  	if s.NotificationChannel != nil {
 16653  		if err := s.NotificationChannel.Validate(); err != nil {
 16654  			invalidParams.AddNested("NotificationChannel", err.(request.ErrInvalidParams))
 16655  		}
 16656  	}
 16657  	if s.Video != nil {
 16658  		if err := s.Video.Validate(); err != nil {
 16659  			invalidParams.AddNested("Video", err.(request.ErrInvalidParams))
 16660  		}
 16661  	}
 16662  
 16663  	if invalidParams.Len() > 0 {
 16664  		return invalidParams
 16665  	}
 16666  	return nil
 16667  }
 16668  
 16669  // SetClientRequestToken sets the ClientRequestToken field's value.
 16670  func (s *StartCelebrityRecognitionInput) SetClientRequestToken(v string) *StartCelebrityRecognitionInput {
 16671  	s.ClientRequestToken = &v
 16672  	return s
 16673  }
 16674  
 16675  // SetJobTag sets the JobTag field's value.
 16676  func (s *StartCelebrityRecognitionInput) SetJobTag(v string) *StartCelebrityRecognitionInput {
 16677  	s.JobTag = &v
 16678  	return s
 16679  }
 16680  
 16681  // SetNotificationChannel sets the NotificationChannel field's value.
 16682  func (s *StartCelebrityRecognitionInput) SetNotificationChannel(v *NotificationChannel) *StartCelebrityRecognitionInput {
 16683  	s.NotificationChannel = v
 16684  	return s
 16685  }
 16686  
 16687  // SetVideo sets the Video field's value.
 16688  func (s *StartCelebrityRecognitionInput) SetVideo(v *Video) *StartCelebrityRecognitionInput {
 16689  	s.Video = v
 16690  	return s
 16691  }
 16692  
 16693  type StartCelebrityRecognitionOutput struct {
 16694  	_ struct{} `type:"structure"`
 16695  
 16696  	// The identifier for the celebrity recognition analysis job. Use JobId to identify
 16697  	// the job in a subsequent call to GetCelebrityRecognition.
 16698  	JobId *string `min:"1" type:"string"`
 16699  }
 16700  
 16701  // String returns the string representation.
 16702  //
 16703  // API parameter values that are decorated as "sensitive" in the API will not
 16704  // be included in the string output. The member name will be present, but the
 16705  // value will be replaced with "sensitive".
 16706  func (s StartCelebrityRecognitionOutput) String() string {
 16707  	return awsutil.Prettify(s)
 16708  }
 16709  
 16710  // GoString returns the string representation.
 16711  //
 16712  // API parameter values that are decorated as "sensitive" in the API will not
 16713  // be included in the string output. The member name will be present, but the
 16714  // value will be replaced with "sensitive".
 16715  func (s StartCelebrityRecognitionOutput) GoString() string {
 16716  	return s.String()
 16717  }
 16718  
 16719  // SetJobId sets the JobId field's value.
 16720  func (s *StartCelebrityRecognitionOutput) SetJobId(v string) *StartCelebrityRecognitionOutput {
 16721  	s.JobId = &v
 16722  	return s
 16723  }
 16724  
 16725  type StartContentModerationInput struct {
 16726  	_ struct{} `type:"structure"`
 16727  
 16728  	// Idempotent token used to identify the start request. If you use the same
 16729  	// token with multiple StartContentModeration requests, the same JobId is returned.
 16730  	// Use ClientRequestToken to prevent the same job from being accidently started
 16731  	// more than once.
 16732  	ClientRequestToken *string `min:"1" type:"string"`
 16733  
 16734  	// An identifier you specify that's returned in the completion notification
 16735  	// that's published to your Amazon Simple Notification Service topic. For example,
 16736  	// you can use JobTag to group related jobs and identify them in the completion
 16737  	// notification.
 16738  	JobTag *string `min:"1" type:"string"`
 16739  
 16740  	// Specifies the minimum confidence that Amazon Rekognition must have in order
 16741  	// to return a moderated content label. Confidence represents how certain Amazon
 16742  	// Rekognition is that the moderated content is correctly identified. 0 is the
 16743  	// lowest confidence. 100 is the highest confidence. Amazon Rekognition doesn't
 16744  	// return any moderated content labels with a confidence level lower than this
 16745  	// specified value. If you don't specify MinConfidence, GetContentModeration
 16746  	// returns labels with confidence values greater than or equal to 50 percent.
 16747  	MinConfidence *float64 `type:"float"`
 16748  
 16749  	// The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish
 16750  	// the completion status of the content analysis to. The Amazon SNS topic must
 16751  	// have a topic name that begins with AmazonRekognition if you are using the
 16752  	// AmazonRekognitionServiceRole permissions policy to access the topic.
 16753  	NotificationChannel *NotificationChannel `type:"structure"`
 16754  
 16755  	// The video in which you want to detect inappropriate, unwanted, or offensive
 16756  	// content. The video must be stored in an Amazon S3 bucket.
 16757  	//
 16758  	// Video is a required field
 16759  	Video *Video `type:"structure" required:"true"`
 16760  }
 16761  
 16762  // String returns the string representation.
 16763  //
 16764  // API parameter values that are decorated as "sensitive" in the API will not
 16765  // be included in the string output. The member name will be present, but the
 16766  // value will be replaced with "sensitive".
 16767  func (s StartContentModerationInput) String() string {
 16768  	return awsutil.Prettify(s)
 16769  }
 16770  
 16771  // GoString returns the string representation.
 16772  //
 16773  // API parameter values that are decorated as "sensitive" in the API will not
 16774  // be included in the string output. The member name will be present, but the
 16775  // value will be replaced with "sensitive".
 16776  func (s StartContentModerationInput) GoString() string {
 16777  	return s.String()
 16778  }
 16779  
 16780  // Validate inspects the fields of the type to determine if they are valid.
 16781  func (s *StartContentModerationInput) Validate() error {
 16782  	invalidParams := request.ErrInvalidParams{Context: "StartContentModerationInput"}
 16783  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
 16784  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
 16785  	}
 16786  	if s.JobTag != nil && len(*s.JobTag) < 1 {
 16787  		invalidParams.Add(request.NewErrParamMinLen("JobTag", 1))
 16788  	}
 16789  	if s.Video == nil {
 16790  		invalidParams.Add(request.NewErrParamRequired("Video"))
 16791  	}
 16792  	if s.NotificationChannel != nil {
 16793  		if err := s.NotificationChannel.Validate(); err != nil {
 16794  			invalidParams.AddNested("NotificationChannel", err.(request.ErrInvalidParams))
 16795  		}
 16796  	}
 16797  	if s.Video != nil {
 16798  		if err := s.Video.Validate(); err != nil {
 16799  			invalidParams.AddNested("Video", err.(request.ErrInvalidParams))
 16800  		}
 16801  	}
 16802  
 16803  	if invalidParams.Len() > 0 {
 16804  		return invalidParams
 16805  	}
 16806  	return nil
 16807  }
 16808  
 16809  // SetClientRequestToken sets the ClientRequestToken field's value.
 16810  func (s *StartContentModerationInput) SetClientRequestToken(v string) *StartContentModerationInput {
 16811  	s.ClientRequestToken = &v
 16812  	return s
 16813  }
 16814  
 16815  // SetJobTag sets the JobTag field's value.
 16816  func (s *StartContentModerationInput) SetJobTag(v string) *StartContentModerationInput {
 16817  	s.JobTag = &v
 16818  	return s
 16819  }
 16820  
 16821  // SetMinConfidence sets the MinConfidence field's value.
 16822  func (s *StartContentModerationInput) SetMinConfidence(v float64) *StartContentModerationInput {
 16823  	s.MinConfidence = &v
 16824  	return s
 16825  }
 16826  
 16827  // SetNotificationChannel sets the NotificationChannel field's value.
 16828  func (s *StartContentModerationInput) SetNotificationChannel(v *NotificationChannel) *StartContentModerationInput {
 16829  	s.NotificationChannel = v
 16830  	return s
 16831  }
 16832  
 16833  // SetVideo sets the Video field's value.
 16834  func (s *StartContentModerationInput) SetVideo(v *Video) *StartContentModerationInput {
 16835  	s.Video = v
 16836  	return s
 16837  }
 16838  
 16839  type StartContentModerationOutput struct {
 16840  	_ struct{} `type:"structure"`
 16841  
 16842  	// The identifier for the content analysis job. Use JobId to identify the job
 16843  	// in a subsequent call to GetContentModeration.
 16844  	JobId *string `min:"1" type:"string"`
 16845  }
 16846  
 16847  // String returns the string representation.
 16848  //
 16849  // API parameter values that are decorated as "sensitive" in the API will not
 16850  // be included in the string output. The member name will be present, but the
 16851  // value will be replaced with "sensitive".
 16852  func (s StartContentModerationOutput) String() string {
 16853  	return awsutil.Prettify(s)
 16854  }
 16855  
 16856  // GoString returns the string representation.
 16857  //
 16858  // API parameter values that are decorated as "sensitive" in the API will not
 16859  // be included in the string output. The member name will be present, but the
 16860  // value will be replaced with "sensitive".
 16861  func (s StartContentModerationOutput) GoString() string {
 16862  	return s.String()
 16863  }
 16864  
 16865  // SetJobId sets the JobId field's value.
 16866  func (s *StartContentModerationOutput) SetJobId(v string) *StartContentModerationOutput {
 16867  	s.JobId = &v
 16868  	return s
 16869  }
 16870  
 16871  type StartFaceDetectionInput struct {
 16872  	_ struct{} `type:"structure"`
 16873  
 16874  	// Idempotent token used to identify the start request. If you use the same
 16875  	// token with multiple StartFaceDetection requests, the same JobId is returned.
 16876  	// Use ClientRequestToken to prevent the same job from being accidently started
 16877  	// more than once.
 16878  	ClientRequestToken *string `min:"1" type:"string"`
 16879  
 16880  	// The face attributes you want returned.
 16881  	//
 16882  	// DEFAULT - The following subset of facial attributes are returned: BoundingBox,
 16883  	// Confidence, Pose, Quality and Landmarks.
 16884  	//
 16885  	// ALL - All facial attributes are returned.
 16886  	FaceAttributes *string `type:"string" enum:"FaceAttributes"`
 16887  
 16888  	// An identifier you specify that's returned in the completion notification
 16889  	// that's published to your Amazon Simple Notification Service topic. For example,
 16890  	// you can use JobTag to group related jobs and identify them in the completion
 16891  	// notification.
 16892  	JobTag *string `min:"1" type:"string"`
 16893  
 16894  	// The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video
 16895  	// to publish the completion status of the face detection operation. The Amazon
 16896  	// SNS topic must have a topic name that begins with AmazonRekognition if you
 16897  	// are using the AmazonRekognitionServiceRole permissions policy.
 16898  	NotificationChannel *NotificationChannel `type:"structure"`
 16899  
 16900  	// The video in which you want to detect faces. The video must be stored in
 16901  	// an Amazon S3 bucket.
 16902  	//
 16903  	// Video is a required field
 16904  	Video *Video `type:"structure" required:"true"`
 16905  }
 16906  
 16907  // String returns the string representation.
 16908  //
 16909  // API parameter values that are decorated as "sensitive" in the API will not
 16910  // be included in the string output. The member name will be present, but the
 16911  // value will be replaced with "sensitive".
 16912  func (s StartFaceDetectionInput) String() string {
 16913  	return awsutil.Prettify(s)
 16914  }
 16915  
 16916  // GoString returns the string representation.
 16917  //
 16918  // API parameter values that are decorated as "sensitive" in the API will not
 16919  // be included in the string output. The member name will be present, but the
 16920  // value will be replaced with "sensitive".
 16921  func (s StartFaceDetectionInput) GoString() string {
 16922  	return s.String()
 16923  }
 16924  
 16925  // Validate inspects the fields of the type to determine if they are valid.
 16926  func (s *StartFaceDetectionInput) Validate() error {
 16927  	invalidParams := request.ErrInvalidParams{Context: "StartFaceDetectionInput"}
 16928  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
 16929  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
 16930  	}
 16931  	if s.JobTag != nil && len(*s.JobTag) < 1 {
 16932  		invalidParams.Add(request.NewErrParamMinLen("JobTag", 1))
 16933  	}
 16934  	if s.Video == nil {
 16935  		invalidParams.Add(request.NewErrParamRequired("Video"))
 16936  	}
 16937  	if s.NotificationChannel != nil {
 16938  		if err := s.NotificationChannel.Validate(); err != nil {
 16939  			invalidParams.AddNested("NotificationChannel", err.(request.ErrInvalidParams))
 16940  		}
 16941  	}
 16942  	if s.Video != nil {
 16943  		if err := s.Video.Validate(); err != nil {
 16944  			invalidParams.AddNested("Video", err.(request.ErrInvalidParams))
 16945  		}
 16946  	}
 16947  
 16948  	if invalidParams.Len() > 0 {
 16949  		return invalidParams
 16950  	}
 16951  	return nil
 16952  }
 16953  
 16954  // SetClientRequestToken sets the ClientRequestToken field's value.
 16955  func (s *StartFaceDetectionInput) SetClientRequestToken(v string) *StartFaceDetectionInput {
 16956  	s.ClientRequestToken = &v
 16957  	return s
 16958  }
 16959  
 16960  // SetFaceAttributes sets the FaceAttributes field's value.
 16961  func (s *StartFaceDetectionInput) SetFaceAttributes(v string) *StartFaceDetectionInput {
 16962  	s.FaceAttributes = &v
 16963  	return s
 16964  }
 16965  
 16966  // SetJobTag sets the JobTag field's value.
 16967  func (s *StartFaceDetectionInput) SetJobTag(v string) *StartFaceDetectionInput {
 16968  	s.JobTag = &v
 16969  	return s
 16970  }
 16971  
 16972  // SetNotificationChannel sets the NotificationChannel field's value.
 16973  func (s *StartFaceDetectionInput) SetNotificationChannel(v *NotificationChannel) *StartFaceDetectionInput {
 16974  	s.NotificationChannel = v
 16975  	return s
 16976  }
 16977  
 16978  // SetVideo sets the Video field's value.
 16979  func (s *StartFaceDetectionInput) SetVideo(v *Video) *StartFaceDetectionInput {
 16980  	s.Video = v
 16981  	return s
 16982  }
 16983  
 16984  type StartFaceDetectionOutput struct {
 16985  	_ struct{} `type:"structure"`
 16986  
 16987  	// The identifier for the face detection job. Use JobId to identify the job
 16988  	// in a subsequent call to GetFaceDetection.
 16989  	JobId *string `min:"1" type:"string"`
 16990  }
 16991  
 16992  // String returns the string representation.
 16993  //
 16994  // API parameter values that are decorated as "sensitive" in the API will not
 16995  // be included in the string output. The member name will be present, but the
 16996  // value will be replaced with "sensitive".
 16997  func (s StartFaceDetectionOutput) String() string {
 16998  	return awsutil.Prettify(s)
 16999  }
 17000  
 17001  // GoString returns the string representation.
 17002  //
 17003  // API parameter values that are decorated as "sensitive" in the API will not
 17004  // be included in the string output. The member name will be present, but the
 17005  // value will be replaced with "sensitive".
 17006  func (s StartFaceDetectionOutput) GoString() string {
 17007  	return s.String()
 17008  }
 17009  
 17010  // SetJobId sets the JobId field's value.
 17011  func (s *StartFaceDetectionOutput) SetJobId(v string) *StartFaceDetectionOutput {
 17012  	s.JobId = &v
 17013  	return s
 17014  }
 17015  
 17016  type StartFaceSearchInput struct {
 17017  	_ struct{} `type:"structure"`
 17018  
 17019  	// Idempotent token used to identify the start request. If you use the same
 17020  	// token with multiple StartFaceSearch requests, the same JobId is returned.
 17021  	// Use ClientRequestToken to prevent the same job from being accidently started
 17022  	// more than once.
 17023  	ClientRequestToken *string `min:"1" type:"string"`
 17024  
 17025  	// ID of the collection that contains the faces you want to search for.
 17026  	//
 17027  	// CollectionId is a required field
 17028  	CollectionId *string `min:"1" type:"string" required:"true"`
 17029  
 17030  	// The minimum confidence in the person match to return. For example, don't
 17031  	// return any matches where confidence in matches is less than 70%. The default
 17032  	// value is 80%.
 17033  	FaceMatchThreshold *float64 `type:"float"`
 17034  
 17035  	// An identifier you specify that's returned in the completion notification
 17036  	// that's published to your Amazon Simple Notification Service topic. For example,
 17037  	// you can use JobTag to group related jobs and identify them in the completion
 17038  	// notification.
 17039  	JobTag *string `min:"1" type:"string"`
 17040  
 17041  	// The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video
 17042  	// to publish the completion status of the search. The Amazon SNS topic must
 17043  	// have a topic name that begins with AmazonRekognition if you are using the
 17044  	// AmazonRekognitionServiceRole permissions policy to access the topic.
 17045  	NotificationChannel *NotificationChannel `type:"structure"`
 17046  
 17047  	// The video you want to search. The video must be stored in an Amazon S3 bucket.
 17048  	//
 17049  	// Video is a required field
 17050  	Video *Video `type:"structure" required:"true"`
 17051  }
 17052  
 17053  // String returns the string representation.
 17054  //
 17055  // API parameter values that are decorated as "sensitive" in the API will not
 17056  // be included in the string output. The member name will be present, but the
 17057  // value will be replaced with "sensitive".
 17058  func (s StartFaceSearchInput) String() string {
 17059  	return awsutil.Prettify(s)
 17060  }
 17061  
 17062  // GoString returns the string representation.
 17063  //
 17064  // API parameter values that are decorated as "sensitive" in the API will not
 17065  // be included in the string output. The member name will be present, but the
 17066  // value will be replaced with "sensitive".
 17067  func (s StartFaceSearchInput) GoString() string {
 17068  	return s.String()
 17069  }
 17070  
 17071  // Validate inspects the fields of the type to determine if they are valid.
 17072  func (s *StartFaceSearchInput) Validate() error {
 17073  	invalidParams := request.ErrInvalidParams{Context: "StartFaceSearchInput"}
 17074  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
 17075  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
 17076  	}
 17077  	if s.CollectionId == nil {
 17078  		invalidParams.Add(request.NewErrParamRequired("CollectionId"))
 17079  	}
 17080  	if s.CollectionId != nil && len(*s.CollectionId) < 1 {
 17081  		invalidParams.Add(request.NewErrParamMinLen("CollectionId", 1))
 17082  	}
 17083  	if s.JobTag != nil && len(*s.JobTag) < 1 {
 17084  		invalidParams.Add(request.NewErrParamMinLen("JobTag", 1))
 17085  	}
 17086  	if s.Video == nil {
 17087  		invalidParams.Add(request.NewErrParamRequired("Video"))
 17088  	}
 17089  	if s.NotificationChannel != nil {
 17090  		if err := s.NotificationChannel.Validate(); err != nil {
 17091  			invalidParams.AddNested("NotificationChannel", err.(request.ErrInvalidParams))
 17092  		}
 17093  	}
 17094  	if s.Video != nil {
 17095  		if err := s.Video.Validate(); err != nil {
 17096  			invalidParams.AddNested("Video", err.(request.ErrInvalidParams))
 17097  		}
 17098  	}
 17099  
 17100  	if invalidParams.Len() > 0 {
 17101  		return invalidParams
 17102  	}
 17103  	return nil
 17104  }
 17105  
 17106  // SetClientRequestToken sets the ClientRequestToken field's value.
 17107  func (s *StartFaceSearchInput) SetClientRequestToken(v string) *StartFaceSearchInput {
 17108  	s.ClientRequestToken = &v
 17109  	return s
 17110  }
 17111  
 17112  // SetCollectionId sets the CollectionId field's value.
 17113  func (s *StartFaceSearchInput) SetCollectionId(v string) *StartFaceSearchInput {
 17114  	s.CollectionId = &v
 17115  	return s
 17116  }
 17117  
 17118  // SetFaceMatchThreshold sets the FaceMatchThreshold field's value.
 17119  func (s *StartFaceSearchInput) SetFaceMatchThreshold(v float64) *StartFaceSearchInput {
 17120  	s.FaceMatchThreshold = &v
 17121  	return s
 17122  }
 17123  
 17124  // SetJobTag sets the JobTag field's value.
 17125  func (s *StartFaceSearchInput) SetJobTag(v string) *StartFaceSearchInput {
 17126  	s.JobTag = &v
 17127  	return s
 17128  }
 17129  
 17130  // SetNotificationChannel sets the NotificationChannel field's value.
 17131  func (s *StartFaceSearchInput) SetNotificationChannel(v *NotificationChannel) *StartFaceSearchInput {
 17132  	s.NotificationChannel = v
 17133  	return s
 17134  }
 17135  
 17136  // SetVideo sets the Video field's value.
 17137  func (s *StartFaceSearchInput) SetVideo(v *Video) *StartFaceSearchInput {
 17138  	s.Video = v
 17139  	return s
 17140  }
 17141  
 17142  type StartFaceSearchOutput struct {
 17143  	_ struct{} `type:"structure"`
 17144  
 17145  	// The identifier for the search job. Use JobId to identify the job in a subsequent
 17146  	// call to GetFaceSearch.
 17147  	JobId *string `min:"1" type:"string"`
 17148  }
 17149  
 17150  // String returns the string representation.
 17151  //
 17152  // API parameter values that are decorated as "sensitive" in the API will not
 17153  // be included in the string output. The member name will be present, but the
 17154  // value will be replaced with "sensitive".
 17155  func (s StartFaceSearchOutput) String() string {
 17156  	return awsutil.Prettify(s)
 17157  }
 17158  
 17159  // GoString returns the string representation.
 17160  //
 17161  // API parameter values that are decorated as "sensitive" in the API will not
 17162  // be included in the string output. The member name will be present, but the
 17163  // value will be replaced with "sensitive".
 17164  func (s StartFaceSearchOutput) GoString() string {
 17165  	return s.String()
 17166  }
 17167  
 17168  // SetJobId sets the JobId field's value.
 17169  func (s *StartFaceSearchOutput) SetJobId(v string) *StartFaceSearchOutput {
 17170  	s.JobId = &v
 17171  	return s
 17172  }
 17173  
 17174  type StartLabelDetectionInput struct {
 17175  	_ struct{} `type:"structure"`
 17176  
 17177  	// Idempotent token used to identify the start request. If you use the same
 17178  	// token with multiple StartLabelDetection requests, the same JobId is returned.
 17179  	// Use ClientRequestToken to prevent the same job from being accidently started
 17180  	// more than once.
 17181  	ClientRequestToken *string `min:"1" type:"string"`
 17182  
 17183  	// An identifier you specify that's returned in the completion notification
 17184  	// that's published to your Amazon Simple Notification Service topic. For example,
 17185  	// you can use JobTag to group related jobs and identify them in the completion
 17186  	// notification.
 17187  	JobTag *string `min:"1" type:"string"`
 17188  
 17189  	// Specifies the minimum confidence that Amazon Rekognition Video must have
 17190  	// in order to return a detected label. Confidence represents how certain Amazon
 17191  	// Rekognition is that a label is correctly identified.0 is the lowest confidence.
 17192  	// 100 is the highest confidence. Amazon Rekognition Video doesn't return any
 17193  	// labels with a confidence level lower than this specified value.
 17194  	//
 17195  	// If you don't specify MinConfidence, the operation returns labels with confidence
 17196  	// values greater than or equal to 50 percent.
 17197  	MinConfidence *float64 `type:"float"`
 17198  
 17199  	// The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the
 17200  	// completion status of the label detection operation to. The Amazon SNS topic
 17201  	// must have a topic name that begins with AmazonRekognition if you are using
 17202  	// the AmazonRekognitionServiceRole permissions policy.
 17203  	NotificationChannel *NotificationChannel `type:"structure"`
 17204  
 17205  	// The video in which you want to detect labels. The video must be stored in
 17206  	// an Amazon S3 bucket.
 17207  	//
 17208  	// Video is a required field
 17209  	Video *Video `type:"structure" required:"true"`
 17210  }
 17211  
 17212  // String returns the string representation.
 17213  //
 17214  // API parameter values that are decorated as "sensitive" in the API will not
 17215  // be included in the string output. The member name will be present, but the
 17216  // value will be replaced with "sensitive".
 17217  func (s StartLabelDetectionInput) String() string {
 17218  	return awsutil.Prettify(s)
 17219  }
 17220  
 17221  // GoString returns the string representation.
 17222  //
 17223  // API parameter values that are decorated as "sensitive" in the API will not
 17224  // be included in the string output. The member name will be present, but the
 17225  // value will be replaced with "sensitive".
 17226  func (s StartLabelDetectionInput) GoString() string {
 17227  	return s.String()
 17228  }
 17229  
 17230  // Validate inspects the fields of the type to determine if they are valid.
 17231  func (s *StartLabelDetectionInput) Validate() error {
 17232  	invalidParams := request.ErrInvalidParams{Context: "StartLabelDetectionInput"}
 17233  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
 17234  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
 17235  	}
 17236  	if s.JobTag != nil && len(*s.JobTag) < 1 {
 17237  		invalidParams.Add(request.NewErrParamMinLen("JobTag", 1))
 17238  	}
 17239  	if s.Video == nil {
 17240  		invalidParams.Add(request.NewErrParamRequired("Video"))
 17241  	}
 17242  	if s.NotificationChannel != nil {
 17243  		if err := s.NotificationChannel.Validate(); err != nil {
 17244  			invalidParams.AddNested("NotificationChannel", err.(request.ErrInvalidParams))
 17245  		}
 17246  	}
 17247  	if s.Video != nil {
 17248  		if err := s.Video.Validate(); err != nil {
 17249  			invalidParams.AddNested("Video", err.(request.ErrInvalidParams))
 17250  		}
 17251  	}
 17252  
 17253  	if invalidParams.Len() > 0 {
 17254  		return invalidParams
 17255  	}
 17256  	return nil
 17257  }
 17258  
 17259  // SetClientRequestToken sets the ClientRequestToken field's value.
 17260  func (s *StartLabelDetectionInput) SetClientRequestToken(v string) *StartLabelDetectionInput {
 17261  	s.ClientRequestToken = &v
 17262  	return s
 17263  }
 17264  
 17265  // SetJobTag sets the JobTag field's value.
 17266  func (s *StartLabelDetectionInput) SetJobTag(v string) *StartLabelDetectionInput {
 17267  	s.JobTag = &v
 17268  	return s
 17269  }
 17270  
 17271  // SetMinConfidence sets the MinConfidence field's value.
 17272  func (s *StartLabelDetectionInput) SetMinConfidence(v float64) *StartLabelDetectionInput {
 17273  	s.MinConfidence = &v
 17274  	return s
 17275  }
 17276  
 17277  // SetNotificationChannel sets the NotificationChannel field's value.
 17278  func (s *StartLabelDetectionInput) SetNotificationChannel(v *NotificationChannel) *StartLabelDetectionInput {
 17279  	s.NotificationChannel = v
 17280  	return s
 17281  }
 17282  
 17283  // SetVideo sets the Video field's value.
 17284  func (s *StartLabelDetectionInput) SetVideo(v *Video) *StartLabelDetectionInput {
 17285  	s.Video = v
 17286  	return s
 17287  }
 17288  
 17289  type StartLabelDetectionOutput struct {
 17290  	_ struct{} `type:"structure"`
 17291  
 17292  	// The identifier for the label detection job. Use JobId to identify the job
 17293  	// in a subsequent call to GetLabelDetection.
 17294  	JobId *string `min:"1" type:"string"`
 17295  }
 17296  
 17297  // String returns the string representation.
 17298  //
 17299  // API parameter values that are decorated as "sensitive" in the API will not
 17300  // be included in the string output. The member name will be present, but the
 17301  // value will be replaced with "sensitive".
 17302  func (s StartLabelDetectionOutput) String() string {
 17303  	return awsutil.Prettify(s)
 17304  }
 17305  
 17306  // GoString returns the string representation.
 17307  //
 17308  // API parameter values that are decorated as "sensitive" in the API will not
 17309  // be included in the string output. The member name will be present, but the
 17310  // value will be replaced with "sensitive".
 17311  func (s StartLabelDetectionOutput) GoString() string {
 17312  	return s.String()
 17313  }
 17314  
 17315  // SetJobId sets the JobId field's value.
 17316  func (s *StartLabelDetectionOutput) SetJobId(v string) *StartLabelDetectionOutput {
 17317  	s.JobId = &v
 17318  	return s
 17319  }
 17320  
 17321  type StartPersonTrackingInput struct {
 17322  	_ struct{} `type:"structure"`
 17323  
 17324  	// Idempotent token used to identify the start request. If you use the same
 17325  	// token with multiple StartPersonTracking requests, the same JobId is returned.
 17326  	// Use ClientRequestToken to prevent the same job from being accidently started
 17327  	// more than once.
 17328  	ClientRequestToken *string `min:"1" type:"string"`
 17329  
 17330  	// An identifier you specify that's returned in the completion notification
 17331  	// that's published to your Amazon Simple Notification Service topic. For example,
 17332  	// you can use JobTag to group related jobs and identify them in the completion
 17333  	// notification.
 17334  	JobTag *string `min:"1" type:"string"`
 17335  
 17336  	// The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the
 17337  	// completion status of the people detection operation to. The Amazon SNS topic
 17338  	// must have a topic name that begins with AmazonRekognition if you are using
 17339  	// the AmazonRekognitionServiceRole permissions policy.
 17340  	NotificationChannel *NotificationChannel `type:"structure"`
 17341  
 17342  	// The video in which you want to detect people. The video must be stored in
 17343  	// an Amazon S3 bucket.
 17344  	//
 17345  	// Video is a required field
 17346  	Video *Video `type:"structure" required:"true"`
 17347  }
 17348  
 17349  // String returns the string representation.
 17350  //
 17351  // API parameter values that are decorated as "sensitive" in the API will not
 17352  // be included in the string output. The member name will be present, but the
 17353  // value will be replaced with "sensitive".
 17354  func (s StartPersonTrackingInput) String() string {
 17355  	return awsutil.Prettify(s)
 17356  }
 17357  
 17358  // GoString returns the string representation.
 17359  //
 17360  // API parameter values that are decorated as "sensitive" in the API will not
 17361  // be included in the string output. The member name will be present, but the
 17362  // value will be replaced with "sensitive".
 17363  func (s StartPersonTrackingInput) GoString() string {
 17364  	return s.String()
 17365  }
 17366  
 17367  // Validate inspects the fields of the type to determine if they are valid.
 17368  func (s *StartPersonTrackingInput) Validate() error {
 17369  	invalidParams := request.ErrInvalidParams{Context: "StartPersonTrackingInput"}
 17370  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
 17371  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
 17372  	}
 17373  	if s.JobTag != nil && len(*s.JobTag) < 1 {
 17374  		invalidParams.Add(request.NewErrParamMinLen("JobTag", 1))
 17375  	}
 17376  	if s.Video == nil {
 17377  		invalidParams.Add(request.NewErrParamRequired("Video"))
 17378  	}
 17379  	if s.NotificationChannel != nil {
 17380  		if err := s.NotificationChannel.Validate(); err != nil {
 17381  			invalidParams.AddNested("NotificationChannel", err.(request.ErrInvalidParams))
 17382  		}
 17383  	}
 17384  	if s.Video != nil {
 17385  		if err := s.Video.Validate(); err != nil {
 17386  			invalidParams.AddNested("Video", err.(request.ErrInvalidParams))
 17387  		}
 17388  	}
 17389  
 17390  	if invalidParams.Len() > 0 {
 17391  		return invalidParams
 17392  	}
 17393  	return nil
 17394  }
 17395  
 17396  // SetClientRequestToken sets the ClientRequestToken field's value.
 17397  func (s *StartPersonTrackingInput) SetClientRequestToken(v string) *StartPersonTrackingInput {
 17398  	s.ClientRequestToken = &v
 17399  	return s
 17400  }
 17401  
 17402  // SetJobTag sets the JobTag field's value.
 17403  func (s *StartPersonTrackingInput) SetJobTag(v string) *StartPersonTrackingInput {
 17404  	s.JobTag = &v
 17405  	return s
 17406  }
 17407  
 17408  // SetNotificationChannel sets the NotificationChannel field's value.
 17409  func (s *StartPersonTrackingInput) SetNotificationChannel(v *NotificationChannel) *StartPersonTrackingInput {
 17410  	s.NotificationChannel = v
 17411  	return s
 17412  }
 17413  
 17414  // SetVideo sets the Video field's value.
 17415  func (s *StartPersonTrackingInput) SetVideo(v *Video) *StartPersonTrackingInput {
 17416  	s.Video = v
 17417  	return s
 17418  }
 17419  
 17420  type StartPersonTrackingOutput struct {
 17421  	_ struct{} `type:"structure"`
 17422  
 17423  	// The identifier for the person detection job. Use JobId to identify the job
 17424  	// in a subsequent call to GetPersonTracking.
 17425  	JobId *string `min:"1" type:"string"`
 17426  }
 17427  
 17428  // String returns the string representation.
 17429  //
 17430  // API parameter values that are decorated as "sensitive" in the API will not
 17431  // be included in the string output. The member name will be present, but the
 17432  // value will be replaced with "sensitive".
 17433  func (s StartPersonTrackingOutput) String() string {
 17434  	return awsutil.Prettify(s)
 17435  }
 17436  
 17437  // GoString returns the string representation.
 17438  //
 17439  // API parameter values that are decorated as "sensitive" in the API will not
 17440  // be included in the string output. The member name will be present, but the
 17441  // value will be replaced with "sensitive".
 17442  func (s StartPersonTrackingOutput) GoString() string {
 17443  	return s.String()
 17444  }
 17445  
 17446  // SetJobId sets the JobId field's value.
 17447  func (s *StartPersonTrackingOutput) SetJobId(v string) *StartPersonTrackingOutput {
 17448  	s.JobId = &v
 17449  	return s
 17450  }
 17451  
 17452  type StartProjectVersionInput struct {
 17453  	_ struct{} `type:"structure"`
 17454  
 17455  	// The minimum number of inference units to use. A single inference unit represents
 17456  	// 1 hour of processing and can support up to 5 Transaction Pers Second (TPS).
 17457  	// Use a higher number to increase the TPS throughput of your model. You are
 17458  	// charged for the number of inference units that you use.
 17459  	//
 17460  	// MinInferenceUnits is a required field
 17461  	MinInferenceUnits *int64 `min:"1" type:"integer" required:"true"`
 17462  
 17463  	// The Amazon Resource Name(ARN) of the model version that you want to start.
 17464  	//
 17465  	// ProjectVersionArn is a required field
 17466  	ProjectVersionArn *string `min:"20" type:"string" required:"true"`
 17467  }
 17468  
 17469  // String returns the string representation.
 17470  //
 17471  // API parameter values that are decorated as "sensitive" in the API will not
 17472  // be included in the string output. The member name will be present, but the
 17473  // value will be replaced with "sensitive".
 17474  func (s StartProjectVersionInput) String() string {
 17475  	return awsutil.Prettify(s)
 17476  }
 17477  
 17478  // GoString returns the string representation.
 17479  //
 17480  // API parameter values that are decorated as "sensitive" in the API will not
 17481  // be included in the string output. The member name will be present, but the
 17482  // value will be replaced with "sensitive".
 17483  func (s StartProjectVersionInput) GoString() string {
 17484  	return s.String()
 17485  }
 17486  
 17487  // Validate inspects the fields of the type to determine if they are valid.
 17488  func (s *StartProjectVersionInput) Validate() error {
 17489  	invalidParams := request.ErrInvalidParams{Context: "StartProjectVersionInput"}
 17490  	if s.MinInferenceUnits == nil {
 17491  		invalidParams.Add(request.NewErrParamRequired("MinInferenceUnits"))
 17492  	}
 17493  	if s.MinInferenceUnits != nil && *s.MinInferenceUnits < 1 {
 17494  		invalidParams.Add(request.NewErrParamMinValue("MinInferenceUnits", 1))
 17495  	}
 17496  	if s.ProjectVersionArn == nil {
 17497  		invalidParams.Add(request.NewErrParamRequired("ProjectVersionArn"))
 17498  	}
 17499  	if s.ProjectVersionArn != nil && len(*s.ProjectVersionArn) < 20 {
 17500  		invalidParams.Add(request.NewErrParamMinLen("ProjectVersionArn", 20))
 17501  	}
 17502  
 17503  	if invalidParams.Len() > 0 {
 17504  		return invalidParams
 17505  	}
 17506  	return nil
 17507  }
 17508  
 17509  // SetMinInferenceUnits sets the MinInferenceUnits field's value.
 17510  func (s *StartProjectVersionInput) SetMinInferenceUnits(v int64) *StartProjectVersionInput {
 17511  	s.MinInferenceUnits = &v
 17512  	return s
 17513  }
 17514  
 17515  // SetProjectVersionArn sets the ProjectVersionArn field's value.
 17516  func (s *StartProjectVersionInput) SetProjectVersionArn(v string) *StartProjectVersionInput {
 17517  	s.ProjectVersionArn = &v
 17518  	return s
 17519  }
 17520  
 17521  type StartProjectVersionOutput struct {
 17522  	_ struct{} `type:"structure"`
 17523  
 17524  	// The current running status of the model.
 17525  	Status *string `type:"string" enum:"ProjectVersionStatus"`
 17526  }
 17527  
 17528  // String returns the string representation.
 17529  //
 17530  // API parameter values that are decorated as "sensitive" in the API will not
 17531  // be included in the string output. The member name will be present, but the
 17532  // value will be replaced with "sensitive".
 17533  func (s StartProjectVersionOutput) String() string {
 17534  	return awsutil.Prettify(s)
 17535  }
 17536  
 17537  // GoString returns the string representation.
 17538  //
 17539  // API parameter values that are decorated as "sensitive" in the API will not
 17540  // be included in the string output. The member name will be present, but the
 17541  // value will be replaced with "sensitive".
 17542  func (s StartProjectVersionOutput) GoString() string {
 17543  	return s.String()
 17544  }
 17545  
 17546  // SetStatus sets the Status field's value.
 17547  func (s *StartProjectVersionOutput) SetStatus(v string) *StartProjectVersionOutput {
 17548  	s.Status = &v
 17549  	return s
 17550  }
 17551  
 17552  // Filters applied to the technical cue or shot detection segments. For more
 17553  // information, see StartSegmentDetection.
 17554  type StartSegmentDetectionFilters struct {
 17555  	_ struct{} `type:"structure"`
 17556  
 17557  	// Filters that are specific to shot detections.
 17558  	ShotFilter *StartShotDetectionFilter `type:"structure"`
 17559  
 17560  	// Filters that are specific to technical cues.
 17561  	TechnicalCueFilter *StartTechnicalCueDetectionFilter `type:"structure"`
 17562  }
 17563  
 17564  // String returns the string representation.
 17565  //
 17566  // API parameter values that are decorated as "sensitive" in the API will not
 17567  // be included in the string output. The member name will be present, but the
 17568  // value will be replaced with "sensitive".
 17569  func (s StartSegmentDetectionFilters) String() string {
 17570  	return awsutil.Prettify(s)
 17571  }
 17572  
 17573  // GoString returns the string representation.
 17574  //
 17575  // API parameter values that are decorated as "sensitive" in the API will not
 17576  // be included in the string output. The member name will be present, but the
 17577  // value will be replaced with "sensitive".
 17578  func (s StartSegmentDetectionFilters) GoString() string {
 17579  	return s.String()
 17580  }
 17581  
 17582  // Validate inspects the fields of the type to determine if they are valid.
 17583  func (s *StartSegmentDetectionFilters) Validate() error {
 17584  	invalidParams := request.ErrInvalidParams{Context: "StartSegmentDetectionFilters"}
 17585  	if s.ShotFilter != nil {
 17586  		if err := s.ShotFilter.Validate(); err != nil {
 17587  			invalidParams.AddNested("ShotFilter", err.(request.ErrInvalidParams))
 17588  		}
 17589  	}
 17590  	if s.TechnicalCueFilter != nil {
 17591  		if err := s.TechnicalCueFilter.Validate(); err != nil {
 17592  			invalidParams.AddNested("TechnicalCueFilter", err.(request.ErrInvalidParams))
 17593  		}
 17594  	}
 17595  
 17596  	if invalidParams.Len() > 0 {
 17597  		return invalidParams
 17598  	}
 17599  	return nil
 17600  }
 17601  
 17602  // SetShotFilter sets the ShotFilter field's value.
 17603  func (s *StartSegmentDetectionFilters) SetShotFilter(v *StartShotDetectionFilter) *StartSegmentDetectionFilters {
 17604  	s.ShotFilter = v
 17605  	return s
 17606  }
 17607  
 17608  // SetTechnicalCueFilter sets the TechnicalCueFilter field's value.
 17609  func (s *StartSegmentDetectionFilters) SetTechnicalCueFilter(v *StartTechnicalCueDetectionFilter) *StartSegmentDetectionFilters {
 17610  	s.TechnicalCueFilter = v
 17611  	return s
 17612  }
 17613  
 17614  type StartSegmentDetectionInput struct {
 17615  	_ struct{} `type:"structure"`
 17616  
 17617  	// Idempotent token used to identify the start request. If you use the same
 17618  	// token with multiple StartSegmentDetection requests, the same JobId is returned.
 17619  	// Use ClientRequestToken to prevent the same job from being accidently started
 17620  	// more than once.
 17621  	ClientRequestToken *string `min:"1" type:"string"`
 17622  
 17623  	// Filters for technical cue or shot detection.
 17624  	Filters *StartSegmentDetectionFilters `type:"structure"`
 17625  
 17626  	// An identifier you specify that's returned in the completion notification
 17627  	// that's published to your Amazon Simple Notification Service topic. For example,
 17628  	// you can use JobTag to group related jobs and identify them in the completion
 17629  	// notification.
 17630  	JobTag *string `min:"1" type:"string"`
 17631  
 17632  	// The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video
 17633  	// to publish the completion status of the segment detection operation. Note
 17634  	// that the Amazon SNS topic must have a topic name that begins with AmazonRekognition
 17635  	// if you are using the AmazonRekognitionServiceRole permissions policy to access
 17636  	// the topic.
 17637  	NotificationChannel *NotificationChannel `type:"structure"`
 17638  
 17639  	// An array of segment types to detect in the video. Valid values are TECHNICAL_CUE
 17640  	// and SHOT.
 17641  	//
 17642  	// SegmentTypes is a required field
 17643  	SegmentTypes []*string `min:"1" type:"list" required:"true"`
 17644  
 17645  	// Video file stored in an Amazon S3 bucket. Amazon Rekognition video start
 17646  	// operations such as StartLabelDetection use Video to specify a video for analysis.
 17647  	// The supported file formats are .mp4, .mov and .avi.
 17648  	//
 17649  	// Video is a required field
 17650  	Video *Video `type:"structure" required:"true"`
 17651  }
 17652  
 17653  // String returns the string representation.
 17654  //
 17655  // API parameter values that are decorated as "sensitive" in the API will not
 17656  // be included in the string output. The member name will be present, but the
 17657  // value will be replaced with "sensitive".
 17658  func (s StartSegmentDetectionInput) String() string {
 17659  	return awsutil.Prettify(s)
 17660  }
 17661  
 17662  // GoString returns the string representation.
 17663  //
 17664  // API parameter values that are decorated as "sensitive" in the API will not
 17665  // be included in the string output. The member name will be present, but the
 17666  // value will be replaced with "sensitive".
 17667  func (s StartSegmentDetectionInput) GoString() string {
 17668  	return s.String()
 17669  }
 17670  
 17671  // Validate inspects the fields of the type to determine if they are valid.
 17672  func (s *StartSegmentDetectionInput) Validate() error {
 17673  	invalidParams := request.ErrInvalidParams{Context: "StartSegmentDetectionInput"}
 17674  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
 17675  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
 17676  	}
 17677  	if s.JobTag != nil && len(*s.JobTag) < 1 {
 17678  		invalidParams.Add(request.NewErrParamMinLen("JobTag", 1))
 17679  	}
 17680  	if s.SegmentTypes == nil {
 17681  		invalidParams.Add(request.NewErrParamRequired("SegmentTypes"))
 17682  	}
 17683  	if s.SegmentTypes != nil && len(s.SegmentTypes) < 1 {
 17684  		invalidParams.Add(request.NewErrParamMinLen("SegmentTypes", 1))
 17685  	}
 17686  	if s.Video == nil {
 17687  		invalidParams.Add(request.NewErrParamRequired("Video"))
 17688  	}
 17689  	if s.Filters != nil {
 17690  		if err := s.Filters.Validate(); err != nil {
 17691  			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
 17692  		}
 17693  	}
 17694  	if s.NotificationChannel != nil {
 17695  		if err := s.NotificationChannel.Validate(); err != nil {
 17696  			invalidParams.AddNested("NotificationChannel", err.(request.ErrInvalidParams))
 17697  		}
 17698  	}
 17699  	if s.Video != nil {
 17700  		if err := s.Video.Validate(); err != nil {
 17701  			invalidParams.AddNested("Video", err.(request.ErrInvalidParams))
 17702  		}
 17703  	}
 17704  
 17705  	if invalidParams.Len() > 0 {
 17706  		return invalidParams
 17707  	}
 17708  	return nil
 17709  }
 17710  
 17711  // SetClientRequestToken sets the ClientRequestToken field's value.
 17712  func (s *StartSegmentDetectionInput) SetClientRequestToken(v string) *StartSegmentDetectionInput {
 17713  	s.ClientRequestToken = &v
 17714  	return s
 17715  }
 17716  
 17717  // SetFilters sets the Filters field's value.
 17718  func (s *StartSegmentDetectionInput) SetFilters(v *StartSegmentDetectionFilters) *StartSegmentDetectionInput {
 17719  	s.Filters = v
 17720  	return s
 17721  }
 17722  
 17723  // SetJobTag sets the JobTag field's value.
 17724  func (s *StartSegmentDetectionInput) SetJobTag(v string) *StartSegmentDetectionInput {
 17725  	s.JobTag = &v
 17726  	return s
 17727  }
 17728  
 17729  // SetNotificationChannel sets the NotificationChannel field's value.
 17730  func (s *StartSegmentDetectionInput) SetNotificationChannel(v *NotificationChannel) *StartSegmentDetectionInput {
 17731  	s.NotificationChannel = v
 17732  	return s
 17733  }
 17734  
 17735  // SetSegmentTypes sets the SegmentTypes field's value.
 17736  func (s *StartSegmentDetectionInput) SetSegmentTypes(v []*string) *StartSegmentDetectionInput {
 17737  	s.SegmentTypes = v
 17738  	return s
 17739  }
 17740  
 17741  // SetVideo sets the Video field's value.
 17742  func (s *StartSegmentDetectionInput) SetVideo(v *Video) *StartSegmentDetectionInput {
 17743  	s.Video = v
 17744  	return s
 17745  }
 17746  
 17747  type StartSegmentDetectionOutput struct {
 17748  	_ struct{} `type:"structure"`
 17749  
 17750  	// Unique identifier for the segment detection job. The JobId is returned from
 17751  	// StartSegmentDetection.
 17752  	JobId *string `min:"1" type:"string"`
 17753  }
 17754  
 17755  // String returns the string representation.
 17756  //
 17757  // API parameter values that are decorated as "sensitive" in the API will not
 17758  // be included in the string output. The member name will be present, but the
 17759  // value will be replaced with "sensitive".
 17760  func (s StartSegmentDetectionOutput) String() string {
 17761  	return awsutil.Prettify(s)
 17762  }
 17763  
 17764  // GoString returns the string representation.
 17765  //
 17766  // API parameter values that are decorated as "sensitive" in the API will not
 17767  // be included in the string output. The member name will be present, but the
 17768  // value will be replaced with "sensitive".
 17769  func (s StartSegmentDetectionOutput) GoString() string {
 17770  	return s.String()
 17771  }
 17772  
 17773  // SetJobId sets the JobId field's value.
 17774  func (s *StartSegmentDetectionOutput) SetJobId(v string) *StartSegmentDetectionOutput {
 17775  	s.JobId = &v
 17776  	return s
 17777  }
 17778  
 17779  // Filters for the shot detection segments returned by GetSegmentDetection.
 17780  // For more information, see StartSegmentDetectionFilters.
 17781  type StartShotDetectionFilter struct {
 17782  	_ struct{} `type:"structure"`
 17783  
 17784  	// Specifies the minimum confidence that Amazon Rekognition Video must have
 17785  	// in order to return a detected segment. Confidence represents how certain
 17786  	// Amazon Rekognition is that a segment is correctly identified. 0 is the lowest
 17787  	// confidence. 100 is the highest confidence. Amazon Rekognition Video doesn't
 17788  	// return any segments with a confidence level lower than this specified value.
 17789  	//
 17790  	// If you don't specify MinSegmentConfidence, the GetSegmentDetection returns
 17791  	// segments with confidence values greater than or equal to 50 percent.
 17792  	MinSegmentConfidence *float64 `min:"50" type:"float"`
 17793  }
 17794  
 17795  // String returns the string representation.
 17796  //
 17797  // API parameter values that are decorated as "sensitive" in the API will not
 17798  // be included in the string output. The member name will be present, but the
 17799  // value will be replaced with "sensitive".
 17800  func (s StartShotDetectionFilter) String() string {
 17801  	return awsutil.Prettify(s)
 17802  }
 17803  
 17804  // GoString returns the string representation.
 17805  //
 17806  // API parameter values that are decorated as "sensitive" in the API will not
 17807  // be included in the string output. The member name will be present, but the
 17808  // value will be replaced with "sensitive".
 17809  func (s StartShotDetectionFilter) GoString() string {
 17810  	return s.String()
 17811  }
 17812  
 17813  // Validate inspects the fields of the type to determine if they are valid.
 17814  func (s *StartShotDetectionFilter) Validate() error {
 17815  	invalidParams := request.ErrInvalidParams{Context: "StartShotDetectionFilter"}
 17816  	if s.MinSegmentConfidence != nil && *s.MinSegmentConfidence < 50 {
 17817  		invalidParams.Add(request.NewErrParamMinValue("MinSegmentConfidence", 50))
 17818  	}
 17819  
 17820  	if invalidParams.Len() > 0 {
 17821  		return invalidParams
 17822  	}
 17823  	return nil
 17824  }
 17825  
 17826  // SetMinSegmentConfidence sets the MinSegmentConfidence field's value.
 17827  func (s *StartShotDetectionFilter) SetMinSegmentConfidence(v float64) *StartShotDetectionFilter {
 17828  	s.MinSegmentConfidence = &v
 17829  	return s
 17830  }
 17831  
 17832  type StartStreamProcessorInput struct {
 17833  	_ struct{} `type:"structure"`
 17834  
 17835  	// The name of the stream processor to start processing.
 17836  	//
 17837  	// Name is a required field
 17838  	Name *string `min:"1" type:"string" required:"true"`
 17839  }
 17840  
 17841  // String returns the string representation.
 17842  //
 17843  // API parameter values that are decorated as "sensitive" in the API will not
 17844  // be included in the string output. The member name will be present, but the
 17845  // value will be replaced with "sensitive".
 17846  func (s StartStreamProcessorInput) String() string {
 17847  	return awsutil.Prettify(s)
 17848  }
 17849  
 17850  // GoString returns the string representation.
 17851  //
 17852  // API parameter values that are decorated as "sensitive" in the API will not
 17853  // be included in the string output. The member name will be present, but the
 17854  // value will be replaced with "sensitive".
 17855  func (s StartStreamProcessorInput) GoString() string {
 17856  	return s.String()
 17857  }
 17858  
 17859  // Validate inspects the fields of the type to determine if they are valid.
 17860  func (s *StartStreamProcessorInput) Validate() error {
 17861  	invalidParams := request.ErrInvalidParams{Context: "StartStreamProcessorInput"}
 17862  	if s.Name == nil {
 17863  		invalidParams.Add(request.NewErrParamRequired("Name"))
 17864  	}
 17865  	if s.Name != nil && len(*s.Name) < 1 {
 17866  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 17867  	}
 17868  
 17869  	if invalidParams.Len() > 0 {
 17870  		return invalidParams
 17871  	}
 17872  	return nil
 17873  }
 17874  
 17875  // SetName sets the Name field's value.
 17876  func (s *StartStreamProcessorInput) SetName(v string) *StartStreamProcessorInput {
 17877  	s.Name = &v
 17878  	return s
 17879  }
 17880  
 17881  type StartStreamProcessorOutput struct {
 17882  	_ struct{} `type:"structure"`
 17883  }
 17884  
 17885  // String returns the string representation.
 17886  //
 17887  // API parameter values that are decorated as "sensitive" in the API will not
 17888  // be included in the string output. The member name will be present, but the
 17889  // value will be replaced with "sensitive".
 17890  func (s StartStreamProcessorOutput) String() string {
 17891  	return awsutil.Prettify(s)
 17892  }
 17893  
 17894  // GoString returns the string representation.
 17895  //
 17896  // API parameter values that are decorated as "sensitive" in the API will not
 17897  // be included in the string output. The member name will be present, but the
 17898  // value will be replaced with "sensitive".
 17899  func (s StartStreamProcessorOutput) GoString() string {
 17900  	return s.String()
 17901  }
 17902  
 17903  // Filters for the technical segments returned by GetSegmentDetection. For more
 17904  // information, see StartSegmentDetectionFilters.
 17905  type StartTechnicalCueDetectionFilter struct {
 17906  	_ struct{} `type:"structure"`
 17907  
 17908  	// A filter that allows you to control the black frame detection by specifying
 17909  	// the black levels and pixel coverage of black pixels in a frame. Videos can
 17910  	// come from multiple sources, formats, and time periods, with different standards
 17911  	// and varying noise levels for black frames that need to be accounted for.
 17912  	BlackFrame *BlackFrame `type:"structure"`
 17913  
 17914  	// Specifies the minimum confidence that Amazon Rekognition Video must have
 17915  	// in order to return a detected segment. Confidence represents how certain
 17916  	// Amazon Rekognition is that a segment is correctly identified. 0 is the lowest
 17917  	// confidence. 100 is the highest confidence. Amazon Rekognition Video doesn't
 17918  	// return any segments with a confidence level lower than this specified value.
 17919  	//
 17920  	// If you don't specify MinSegmentConfidence, GetSegmentDetection returns segments
 17921  	// with confidence values greater than or equal to 50 percent.
 17922  	MinSegmentConfidence *float64 `min:"50" type:"float"`
 17923  }
 17924  
 17925  // String returns the string representation.
 17926  //
 17927  // API parameter values that are decorated as "sensitive" in the API will not
 17928  // be included in the string output. The member name will be present, but the
 17929  // value will be replaced with "sensitive".
 17930  func (s StartTechnicalCueDetectionFilter) String() string {
 17931  	return awsutil.Prettify(s)
 17932  }
 17933  
 17934  // GoString returns the string representation.
 17935  //
 17936  // API parameter values that are decorated as "sensitive" in the API will not
 17937  // be included in the string output. The member name will be present, but the
 17938  // value will be replaced with "sensitive".
 17939  func (s StartTechnicalCueDetectionFilter) GoString() string {
 17940  	return s.String()
 17941  }
 17942  
 17943  // Validate inspects the fields of the type to determine if they are valid.
 17944  func (s *StartTechnicalCueDetectionFilter) Validate() error {
 17945  	invalidParams := request.ErrInvalidParams{Context: "StartTechnicalCueDetectionFilter"}
 17946  	if s.MinSegmentConfidence != nil && *s.MinSegmentConfidence < 50 {
 17947  		invalidParams.Add(request.NewErrParamMinValue("MinSegmentConfidence", 50))
 17948  	}
 17949  
 17950  	if invalidParams.Len() > 0 {
 17951  		return invalidParams
 17952  	}
 17953  	return nil
 17954  }
 17955  
 17956  // SetBlackFrame sets the BlackFrame field's value.
 17957  func (s *StartTechnicalCueDetectionFilter) SetBlackFrame(v *BlackFrame) *StartTechnicalCueDetectionFilter {
 17958  	s.BlackFrame = v
 17959  	return s
 17960  }
 17961  
 17962  // SetMinSegmentConfidence sets the MinSegmentConfidence field's value.
 17963  func (s *StartTechnicalCueDetectionFilter) SetMinSegmentConfidence(v float64) *StartTechnicalCueDetectionFilter {
 17964  	s.MinSegmentConfidence = &v
 17965  	return s
 17966  }
 17967  
 17968  // Set of optional parameters that let you set the criteria text must meet to
 17969  // be included in your response. WordFilter looks at a word's height, width
 17970  // and minimum confidence. RegionOfInterest lets you set a specific region of
 17971  // the screen to look for text in.
 17972  type StartTextDetectionFilters struct {
 17973  	_ struct{} `type:"structure"`
 17974  
 17975  	// Filter focusing on a certain area of the frame. Uses a BoundingBox object
 17976  	// to set the region of the screen.
 17977  	RegionsOfInterest []*RegionOfInterest `type:"list"`
 17978  
 17979  	// Filters focusing on qualities of the text, such as confidence or size.
 17980  	WordFilter *DetectionFilter `type:"structure"`
 17981  }
 17982  
 17983  // String returns the string representation.
 17984  //
 17985  // API parameter values that are decorated as "sensitive" in the API will not
 17986  // be included in the string output. The member name will be present, but the
 17987  // value will be replaced with "sensitive".
 17988  func (s StartTextDetectionFilters) String() string {
 17989  	return awsutil.Prettify(s)
 17990  }
 17991  
 17992  // GoString returns the string representation.
 17993  //
 17994  // API parameter values that are decorated as "sensitive" in the API will not
 17995  // be included in the string output. The member name will be present, but the
 17996  // value will be replaced with "sensitive".
 17997  func (s StartTextDetectionFilters) GoString() string {
 17998  	return s.String()
 17999  }
 18000  
 18001  // SetRegionsOfInterest sets the RegionsOfInterest field's value.
 18002  func (s *StartTextDetectionFilters) SetRegionsOfInterest(v []*RegionOfInterest) *StartTextDetectionFilters {
 18003  	s.RegionsOfInterest = v
 18004  	return s
 18005  }
 18006  
 18007  // SetWordFilter sets the WordFilter field's value.
 18008  func (s *StartTextDetectionFilters) SetWordFilter(v *DetectionFilter) *StartTextDetectionFilters {
 18009  	s.WordFilter = v
 18010  	return s
 18011  }
 18012  
 18013  type StartTextDetectionInput struct {
 18014  	_ struct{} `type:"structure"`
 18015  
 18016  	// Idempotent token used to identify the start request. If you use the same
 18017  	// token with multiple StartTextDetection requests, the same JobId is returned.
 18018  	// Use ClientRequestToken to prevent the same job from being accidentaly started
 18019  	// more than once.
 18020  	ClientRequestToken *string `min:"1" type:"string"`
 18021  
 18022  	// Optional parameters that let you set criteria the text must meet to be included
 18023  	// in your response.
 18024  	Filters *StartTextDetectionFilters `type:"structure"`
 18025  
 18026  	// An identifier returned in the completion status published by your Amazon
 18027  	// Simple Notification Service topic. For example, you can use JobTag to group
 18028  	// related jobs and identify them in the completion notification.
 18029  	JobTag *string `min:"1" type:"string"`
 18030  
 18031  	// The Amazon Simple Notification Service topic to which Amazon Rekognition
 18032  	// publishes the completion status of a video analysis operation. For more information,
 18033  	// see api-video. Note that the Amazon SNS topic must have a topic name that
 18034  	// begins with AmazonRekognition if you are using the AmazonRekognitionServiceRole
 18035  	// permissions policy to access the topic. For more information, see Giving
 18036  	// access to multiple Amazon SNS topics (https://docs.aws.amazon.com/rekognition/latest/dg/api-video-roles.html#api-video-roles-all-topics).
 18037  	NotificationChannel *NotificationChannel `type:"structure"`
 18038  
 18039  	// Video file stored in an Amazon S3 bucket. Amazon Rekognition video start
 18040  	// operations such as StartLabelDetection use Video to specify a video for analysis.
 18041  	// The supported file formats are .mp4, .mov and .avi.
 18042  	//
 18043  	// Video is a required field
 18044  	Video *Video `type:"structure" required:"true"`
 18045  }
 18046  
 18047  // String returns the string representation.
 18048  //
 18049  // API parameter values that are decorated as "sensitive" in the API will not
 18050  // be included in the string output. The member name will be present, but the
 18051  // value will be replaced with "sensitive".
 18052  func (s StartTextDetectionInput) String() string {
 18053  	return awsutil.Prettify(s)
 18054  }
 18055  
 18056  // GoString returns the string representation.
 18057  //
 18058  // API parameter values that are decorated as "sensitive" in the API will not
 18059  // be included in the string output. The member name will be present, but the
 18060  // value will be replaced with "sensitive".
 18061  func (s StartTextDetectionInput) GoString() string {
 18062  	return s.String()
 18063  }
 18064  
 18065  // Validate inspects the fields of the type to determine if they are valid.
 18066  func (s *StartTextDetectionInput) Validate() error {
 18067  	invalidParams := request.ErrInvalidParams{Context: "StartTextDetectionInput"}
 18068  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
 18069  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
 18070  	}
 18071  	if s.JobTag != nil && len(*s.JobTag) < 1 {
 18072  		invalidParams.Add(request.NewErrParamMinLen("JobTag", 1))
 18073  	}
 18074  	if s.Video == nil {
 18075  		invalidParams.Add(request.NewErrParamRequired("Video"))
 18076  	}
 18077  	if s.NotificationChannel != nil {
 18078  		if err := s.NotificationChannel.Validate(); err != nil {
 18079  			invalidParams.AddNested("NotificationChannel", err.(request.ErrInvalidParams))
 18080  		}
 18081  	}
 18082  	if s.Video != nil {
 18083  		if err := s.Video.Validate(); err != nil {
 18084  			invalidParams.AddNested("Video", err.(request.ErrInvalidParams))
 18085  		}
 18086  	}
 18087  
 18088  	if invalidParams.Len() > 0 {
 18089  		return invalidParams
 18090  	}
 18091  	return nil
 18092  }
 18093  
 18094  // SetClientRequestToken sets the ClientRequestToken field's value.
 18095  func (s *StartTextDetectionInput) SetClientRequestToken(v string) *StartTextDetectionInput {
 18096  	s.ClientRequestToken = &v
 18097  	return s
 18098  }
 18099  
 18100  // SetFilters sets the Filters field's value.
 18101  func (s *StartTextDetectionInput) SetFilters(v *StartTextDetectionFilters) *StartTextDetectionInput {
 18102  	s.Filters = v
 18103  	return s
 18104  }
 18105  
 18106  // SetJobTag sets the JobTag field's value.
 18107  func (s *StartTextDetectionInput) SetJobTag(v string) *StartTextDetectionInput {
 18108  	s.JobTag = &v
 18109  	return s
 18110  }
 18111  
 18112  // SetNotificationChannel sets the NotificationChannel field's value.
 18113  func (s *StartTextDetectionInput) SetNotificationChannel(v *NotificationChannel) *StartTextDetectionInput {
 18114  	s.NotificationChannel = v
 18115  	return s
 18116  }
 18117  
 18118  // SetVideo sets the Video field's value.
 18119  func (s *StartTextDetectionInput) SetVideo(v *Video) *StartTextDetectionInput {
 18120  	s.Video = v
 18121  	return s
 18122  }
 18123  
 18124  type StartTextDetectionOutput struct {
 18125  	_ struct{} `type:"structure"`
 18126  
 18127  	// Identifier for the text detection job. Use JobId to identify the job in a
 18128  	// subsequent call to GetTextDetection.
 18129  	JobId *string `min:"1" type:"string"`
 18130  }
 18131  
 18132  // String returns the string representation.
 18133  //
 18134  // API parameter values that are decorated as "sensitive" in the API will not
 18135  // be included in the string output. The member name will be present, but the
 18136  // value will be replaced with "sensitive".
 18137  func (s StartTextDetectionOutput) String() string {
 18138  	return awsutil.Prettify(s)
 18139  }
 18140  
 18141  // GoString returns the string representation.
 18142  //
 18143  // API parameter values that are decorated as "sensitive" in the API will not
 18144  // be included in the string output. The member name will be present, but the
 18145  // value will be replaced with "sensitive".
 18146  func (s StartTextDetectionOutput) GoString() string {
 18147  	return s.String()
 18148  }
 18149  
 18150  // SetJobId sets the JobId field's value.
 18151  func (s *StartTextDetectionOutput) SetJobId(v string) *StartTextDetectionOutput {
 18152  	s.JobId = &v
 18153  	return s
 18154  }
 18155  
 18156  type StopProjectVersionInput struct {
 18157  	_ struct{} `type:"structure"`
 18158  
 18159  	// The Amazon Resource Name (ARN) of the model version that you want to delete.
 18160  	//
 18161  	// This operation requires permissions to perform the rekognition:StopProjectVersion
 18162  	// action.
 18163  	//
 18164  	// ProjectVersionArn is a required field
 18165  	ProjectVersionArn *string `min:"20" type:"string" required:"true"`
 18166  }
 18167  
 18168  // String returns the string representation.
 18169  //
 18170  // API parameter values that are decorated as "sensitive" in the API will not
 18171  // be included in the string output. The member name will be present, but the
 18172  // value will be replaced with "sensitive".
 18173  func (s StopProjectVersionInput) String() string {
 18174  	return awsutil.Prettify(s)
 18175  }
 18176  
 18177  // GoString returns the string representation.
 18178  //
 18179  // API parameter values that are decorated as "sensitive" in the API will not
 18180  // be included in the string output. The member name will be present, but the
 18181  // value will be replaced with "sensitive".
 18182  func (s StopProjectVersionInput) GoString() string {
 18183  	return s.String()
 18184  }
 18185  
 18186  // Validate inspects the fields of the type to determine if they are valid.
 18187  func (s *StopProjectVersionInput) Validate() error {
 18188  	invalidParams := request.ErrInvalidParams{Context: "StopProjectVersionInput"}
 18189  	if s.ProjectVersionArn == nil {
 18190  		invalidParams.Add(request.NewErrParamRequired("ProjectVersionArn"))
 18191  	}
 18192  	if s.ProjectVersionArn != nil && len(*s.ProjectVersionArn) < 20 {
 18193  		invalidParams.Add(request.NewErrParamMinLen("ProjectVersionArn", 20))
 18194  	}
 18195  
 18196  	if invalidParams.Len() > 0 {
 18197  		return invalidParams
 18198  	}
 18199  	return nil
 18200  }
 18201  
 18202  // SetProjectVersionArn sets the ProjectVersionArn field's value.
 18203  func (s *StopProjectVersionInput) SetProjectVersionArn(v string) *StopProjectVersionInput {
 18204  	s.ProjectVersionArn = &v
 18205  	return s
 18206  }
 18207  
 18208  type StopProjectVersionOutput struct {
 18209  	_ struct{} `type:"structure"`
 18210  
 18211  	// The current status of the stop operation.
 18212  	Status *string `type:"string" enum:"ProjectVersionStatus"`
 18213  }
 18214  
 18215  // String returns the string representation.
 18216  //
 18217  // API parameter values that are decorated as "sensitive" in the API will not
 18218  // be included in the string output. The member name will be present, but the
 18219  // value will be replaced with "sensitive".
 18220  func (s StopProjectVersionOutput) String() string {
 18221  	return awsutil.Prettify(s)
 18222  }
 18223  
 18224  // GoString returns the string representation.
 18225  //
 18226  // API parameter values that are decorated as "sensitive" in the API will not
 18227  // be included in the string output. The member name will be present, but the
 18228  // value will be replaced with "sensitive".
 18229  func (s StopProjectVersionOutput) GoString() string {
 18230  	return s.String()
 18231  }
 18232  
 18233  // SetStatus sets the Status field's value.
 18234  func (s *StopProjectVersionOutput) SetStatus(v string) *StopProjectVersionOutput {
 18235  	s.Status = &v
 18236  	return s
 18237  }
 18238  
 18239  type StopStreamProcessorInput struct {
 18240  	_ struct{} `type:"structure"`
 18241  
 18242  	// The name of a stream processor created by CreateStreamProcessor.
 18243  	//
 18244  	// Name is a required field
 18245  	Name *string `min:"1" type:"string" required:"true"`
 18246  }
 18247  
 18248  // String returns the string representation.
 18249  //
 18250  // API parameter values that are decorated as "sensitive" in the API will not
 18251  // be included in the string output. The member name will be present, but the
 18252  // value will be replaced with "sensitive".
 18253  func (s StopStreamProcessorInput) String() string {
 18254  	return awsutil.Prettify(s)
 18255  }
 18256  
 18257  // GoString returns the string representation.
 18258  //
 18259  // API parameter values that are decorated as "sensitive" in the API will not
 18260  // be included in the string output. The member name will be present, but the
 18261  // value will be replaced with "sensitive".
 18262  func (s StopStreamProcessorInput) GoString() string {
 18263  	return s.String()
 18264  }
 18265  
 18266  // Validate inspects the fields of the type to determine if they are valid.
 18267  func (s *StopStreamProcessorInput) Validate() error {
 18268  	invalidParams := request.ErrInvalidParams{Context: "StopStreamProcessorInput"}
 18269  	if s.Name == nil {
 18270  		invalidParams.Add(request.NewErrParamRequired("Name"))
 18271  	}
 18272  	if s.Name != nil && len(*s.Name) < 1 {
 18273  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 18274  	}
 18275  
 18276  	if invalidParams.Len() > 0 {
 18277  		return invalidParams
 18278  	}
 18279  	return nil
 18280  }
 18281  
 18282  // SetName sets the Name field's value.
 18283  func (s *StopStreamProcessorInput) SetName(v string) *StopStreamProcessorInput {
 18284  	s.Name = &v
 18285  	return s
 18286  }
 18287  
 18288  type StopStreamProcessorOutput struct {
 18289  	_ struct{} `type:"structure"`
 18290  }
 18291  
 18292  // String returns the string representation.
 18293  //
 18294  // API parameter values that are decorated as "sensitive" in the API will not
 18295  // be included in the string output. The member name will be present, but the
 18296  // value will be replaced with "sensitive".
 18297  func (s StopStreamProcessorOutput) String() string {
 18298  	return awsutil.Prettify(s)
 18299  }
 18300  
 18301  // GoString returns the string representation.
 18302  //
 18303  // API parameter values that are decorated as "sensitive" in the API will not
 18304  // be included in the string output. The member name will be present, but the
 18305  // value will be replaced with "sensitive".
 18306  func (s StopStreamProcessorOutput) GoString() string {
 18307  	return s.String()
 18308  }
 18309  
 18310  // An object that recognizes faces in a streaming video. An Amazon Rekognition
 18311  // stream processor is created by a call to CreateStreamProcessor. The request
 18312  // parameters for CreateStreamProcessor describe the Kinesis video stream source
 18313  // for the streaming video, face recognition parameters, and where to stream
 18314  // the analysis resullts.
 18315  type StreamProcessor struct {
 18316  	_ struct{} `type:"structure"`
 18317  
 18318  	// Name of the Amazon Rekognition stream processor.
 18319  	Name *string `min:"1" type:"string"`
 18320  
 18321  	// Current status of the Amazon Rekognition stream processor.
 18322  	Status *string `type:"string" enum:"StreamProcessorStatus"`
 18323  }
 18324  
 18325  // String returns the string representation.
 18326  //
 18327  // API parameter values that are decorated as "sensitive" in the API will not
 18328  // be included in the string output. The member name will be present, but the
 18329  // value will be replaced with "sensitive".
 18330  func (s StreamProcessor) String() string {
 18331  	return awsutil.Prettify(s)
 18332  }
 18333  
 18334  // GoString returns the string representation.
 18335  //
 18336  // API parameter values that are decorated as "sensitive" in the API will not
 18337  // be included in the string output. The member name will be present, but the
 18338  // value will be replaced with "sensitive".
 18339  func (s StreamProcessor) GoString() string {
 18340  	return s.String()
 18341  }
 18342  
 18343  // SetName sets the Name field's value.
 18344  func (s *StreamProcessor) SetName(v string) *StreamProcessor {
 18345  	s.Name = &v
 18346  	return s
 18347  }
 18348  
 18349  // SetStatus sets the Status field's value.
 18350  func (s *StreamProcessor) SetStatus(v string) *StreamProcessor {
 18351  	s.Status = &v
 18352  	return s
 18353  }
 18354  
 18355  // Information about the source streaming video.
 18356  type StreamProcessorInput struct {
 18357  	_ struct{} `type:"structure"`
 18358  
 18359  	// The Kinesis video stream input stream for the source streaming video.
 18360  	KinesisVideoStream *KinesisVideoStream `type:"structure"`
 18361  }
 18362  
 18363  // String returns the string representation.
 18364  //
 18365  // API parameter values that are decorated as "sensitive" in the API will not
 18366  // be included in the string output. The member name will be present, but the
 18367  // value will be replaced with "sensitive".
 18368  func (s StreamProcessorInput) String() string {
 18369  	return awsutil.Prettify(s)
 18370  }
 18371  
 18372  // GoString returns the string representation.
 18373  //
 18374  // API parameter values that are decorated as "sensitive" in the API will not
 18375  // be included in the string output. The member name will be present, but the
 18376  // value will be replaced with "sensitive".
 18377  func (s StreamProcessorInput) GoString() string {
 18378  	return s.String()
 18379  }
 18380  
 18381  // SetKinesisVideoStream sets the KinesisVideoStream field's value.
 18382  func (s *StreamProcessorInput) SetKinesisVideoStream(v *KinesisVideoStream) *StreamProcessorInput {
 18383  	s.KinesisVideoStream = v
 18384  	return s
 18385  }
 18386  
 18387  // Information about the Amazon Kinesis Data Streams stream to which a Amazon
 18388  // Rekognition Video stream processor streams the results of a video analysis.
 18389  // For more information, see CreateStreamProcessor in the Amazon Rekognition
 18390  // Developer Guide.
 18391  type StreamProcessorOutput struct {
 18392  	_ struct{} `type:"structure"`
 18393  
 18394  	// The Amazon Kinesis Data Streams stream to which the Amazon Rekognition stream
 18395  	// processor streams the analysis results.
 18396  	KinesisDataStream *KinesisDataStream `type:"structure"`
 18397  }
 18398  
 18399  // String returns the string representation.
 18400  //
 18401  // API parameter values that are decorated as "sensitive" in the API will not
 18402  // be included in the string output. The member name will be present, but the
 18403  // value will be replaced with "sensitive".
 18404  func (s StreamProcessorOutput) String() string {
 18405  	return awsutil.Prettify(s)
 18406  }
 18407  
 18408  // GoString returns the string representation.
 18409  //
 18410  // API parameter values that are decorated as "sensitive" in the API will not
 18411  // be included in the string output. The member name will be present, but the
 18412  // value will be replaced with "sensitive".
 18413  func (s StreamProcessorOutput) GoString() string {
 18414  	return s.String()
 18415  }
 18416  
 18417  // SetKinesisDataStream sets the KinesisDataStream field's value.
 18418  func (s *StreamProcessorOutput) SetKinesisDataStream(v *KinesisDataStream) *StreamProcessorOutput {
 18419  	s.KinesisDataStream = v
 18420  	return s
 18421  }
 18422  
 18423  // Input parameters used to recognize faces in a streaming video analyzed by
 18424  // a Amazon Rekognition stream processor.
 18425  type StreamProcessorSettings struct {
 18426  	_ struct{} `type:"structure"`
 18427  
 18428  	// Face search settings to use on a streaming video.
 18429  	FaceSearch *FaceSearchSettings `type:"structure"`
 18430  }
 18431  
 18432  // String returns the string representation.
 18433  //
 18434  // API parameter values that are decorated as "sensitive" in the API will not
 18435  // be included in the string output. The member name will be present, but the
 18436  // value will be replaced with "sensitive".
 18437  func (s StreamProcessorSettings) String() string {
 18438  	return awsutil.Prettify(s)
 18439  }
 18440  
 18441  // GoString returns the string representation.
 18442  //
 18443  // API parameter values that are decorated as "sensitive" in the API will not
 18444  // be included in the string output. The member name will be present, but the
 18445  // value will be replaced with "sensitive".
 18446  func (s StreamProcessorSettings) GoString() string {
 18447  	return s.String()
 18448  }
 18449  
 18450  // Validate inspects the fields of the type to determine if they are valid.
 18451  func (s *StreamProcessorSettings) Validate() error {
 18452  	invalidParams := request.ErrInvalidParams{Context: "StreamProcessorSettings"}
 18453  	if s.FaceSearch != nil {
 18454  		if err := s.FaceSearch.Validate(); err != nil {
 18455  			invalidParams.AddNested("FaceSearch", err.(request.ErrInvalidParams))
 18456  		}
 18457  	}
 18458  
 18459  	if invalidParams.Len() > 0 {
 18460  		return invalidParams
 18461  	}
 18462  	return nil
 18463  }
 18464  
 18465  // SetFaceSearch sets the FaceSearch field's value.
 18466  func (s *StreamProcessorSettings) SetFaceSearch(v *FaceSearchSettings) *StreamProcessorSettings {
 18467  	s.FaceSearch = v
 18468  	return s
 18469  }
 18470  
 18471  // The S3 bucket that contains the training summary. The training summary includes
 18472  // aggregated evaluation metrics for the entire testing dataset and metrics
 18473  // for each individual label.
 18474  //
 18475  // You get the training summary S3 bucket location by calling DescribeProjectVersions.
 18476  type Summary struct {
 18477  	_ struct{} `type:"structure"`
 18478  
 18479  	// Provides the S3 bucket name and object name.
 18480  	//
 18481  	// The region for the S3 bucket containing the S3 object must match the region
 18482  	// you use for Amazon Rekognition operations.
 18483  	//
 18484  	// For Amazon Rekognition to process an S3 object, the user must have permission
 18485  	// to access the S3 object. For more information, see Resource-Based Policies
 18486  	// in the Amazon Rekognition Developer Guide.
 18487  	S3Object *S3Object `type:"structure"`
 18488  }
 18489  
 18490  // String returns the string representation.
 18491  //
 18492  // API parameter values that are decorated as "sensitive" in the API will not
 18493  // be included in the string output. The member name will be present, but the
 18494  // value will be replaced with "sensitive".
 18495  func (s Summary) String() string {
 18496  	return awsutil.Prettify(s)
 18497  }
 18498  
 18499  // GoString returns the string representation.
 18500  //
 18501  // API parameter values that are decorated as "sensitive" in the API will not
 18502  // be included in the string output. The member name will be present, but the
 18503  // value will be replaced with "sensitive".
 18504  func (s Summary) GoString() string {
 18505  	return s.String()
 18506  }
 18507  
 18508  // SetS3Object sets the S3Object field's value.
 18509  func (s *Summary) SetS3Object(v *S3Object) *Summary {
 18510  	s.S3Object = v
 18511  	return s
 18512  }
 18513  
 18514  // Indicates whether or not the face is wearing sunglasses, and the confidence
 18515  // level in the determination.
 18516  type Sunglasses struct {
 18517  	_ struct{} `type:"structure"`
 18518  
 18519  	// Level of confidence in the determination.
 18520  	Confidence *float64 `type:"float"`
 18521  
 18522  	// Boolean value that indicates whether the face is wearing sunglasses or not.
 18523  	Value *bool `type:"boolean"`
 18524  }
 18525  
 18526  // String returns the string representation.
 18527  //
 18528  // API parameter values that are decorated as "sensitive" in the API will not
 18529  // be included in the string output. The member name will be present, but the
 18530  // value will be replaced with "sensitive".
 18531  func (s Sunglasses) String() string {
 18532  	return awsutil.Prettify(s)
 18533  }
 18534  
 18535  // GoString returns the string representation.
 18536  //
 18537  // API parameter values that are decorated as "sensitive" in the API will not
 18538  // be included in the string output. The member name will be present, but the
 18539  // value will be replaced with "sensitive".
 18540  func (s Sunglasses) GoString() string {
 18541  	return s.String()
 18542  }
 18543  
 18544  // SetConfidence sets the Confidence field's value.
 18545  func (s *Sunglasses) SetConfidence(v float64) *Sunglasses {
 18546  	s.Confidence = &v
 18547  	return s
 18548  }
 18549  
 18550  // SetValue sets the Value field's value.
 18551  func (s *Sunglasses) SetValue(v bool) *Sunglasses {
 18552  	s.Value = &v
 18553  	return s
 18554  }
 18555  
 18556  type TagResourceInput struct {
 18557  	_ struct{} `type:"structure"`
 18558  
 18559  	// Amazon Resource Name (ARN) of the model, collection, or stream processor
 18560  	// that you want to assign the tags to.
 18561  	//
 18562  	// ResourceArn is a required field
 18563  	ResourceArn *string `min:"20" type:"string" required:"true"`
 18564  
 18565  	// The key-value tags to assign to the resource.
 18566  	//
 18567  	// Tags is a required field
 18568  	Tags map[string]*string `type:"map" required:"true"`
 18569  }
 18570  
 18571  // String returns the string representation.
 18572  //
 18573  // API parameter values that are decorated as "sensitive" in the API will not
 18574  // be included in the string output. The member name will be present, but the
 18575  // value will be replaced with "sensitive".
 18576  func (s TagResourceInput) String() string {
 18577  	return awsutil.Prettify(s)
 18578  }
 18579  
 18580  // GoString returns the string representation.
 18581  //
 18582  // API parameter values that are decorated as "sensitive" in the API will not
 18583  // be included in the string output. The member name will be present, but the
 18584  // value will be replaced with "sensitive".
 18585  func (s TagResourceInput) GoString() string {
 18586  	return s.String()
 18587  }
 18588  
 18589  // Validate inspects the fields of the type to determine if they are valid.
 18590  func (s *TagResourceInput) Validate() error {
 18591  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 18592  	if s.ResourceArn == nil {
 18593  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 18594  	}
 18595  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
 18596  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
 18597  	}
 18598  	if s.Tags == nil {
 18599  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 18600  	}
 18601  
 18602  	if invalidParams.Len() > 0 {
 18603  		return invalidParams
 18604  	}
 18605  	return nil
 18606  }
 18607  
 18608  // SetResourceArn sets the ResourceArn field's value.
 18609  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 18610  	s.ResourceArn = &v
 18611  	return s
 18612  }
 18613  
 18614  // SetTags sets the Tags field's value.
 18615  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 18616  	s.Tags = v
 18617  	return s
 18618  }
 18619  
 18620  type TagResourceOutput struct {
 18621  	_ struct{} `type:"structure"`
 18622  }
 18623  
 18624  // String returns the string representation.
 18625  //
 18626  // API parameter values that are decorated as "sensitive" in the API will not
 18627  // be included in the string output. The member name will be present, but the
 18628  // value will be replaced with "sensitive".
 18629  func (s TagResourceOutput) String() string {
 18630  	return awsutil.Prettify(s)
 18631  }
 18632  
 18633  // GoString returns the string representation.
 18634  //
 18635  // API parameter values that are decorated as "sensitive" in the API will not
 18636  // be included in the string output. The member name will be present, but the
 18637  // value will be replaced with "sensitive".
 18638  func (s TagResourceOutput) GoString() string {
 18639  	return s.String()
 18640  }
 18641  
 18642  // Information about a technical cue segment. For more information, see SegmentDetection.
 18643  type TechnicalCueSegment struct {
 18644  	_ struct{} `type:"structure"`
 18645  
 18646  	// The confidence that Amazon Rekognition Video has in the accuracy of the detected
 18647  	// segment.
 18648  	Confidence *float64 `min:"50" type:"float"`
 18649  
 18650  	// The type of the technical cue.
 18651  	Type *string `type:"string" enum:"TechnicalCueType"`
 18652  }
 18653  
 18654  // String returns the string representation.
 18655  //
 18656  // API parameter values that are decorated as "sensitive" in the API will not
 18657  // be included in the string output. The member name will be present, but the
 18658  // value will be replaced with "sensitive".
 18659  func (s TechnicalCueSegment) String() string {
 18660  	return awsutil.Prettify(s)
 18661  }
 18662  
 18663  // GoString returns the string representation.
 18664  //
 18665  // API parameter values that are decorated as "sensitive" in the API will not
 18666  // be included in the string output. The member name will be present, but the
 18667  // value will be replaced with "sensitive".
 18668  func (s TechnicalCueSegment) GoString() string {
 18669  	return s.String()
 18670  }
 18671  
 18672  // SetConfidence sets the Confidence field's value.
 18673  func (s *TechnicalCueSegment) SetConfidence(v float64) *TechnicalCueSegment {
 18674  	s.Confidence = &v
 18675  	return s
 18676  }
 18677  
 18678  // SetType sets the Type field's value.
 18679  func (s *TechnicalCueSegment) SetType(v string) *TechnicalCueSegment {
 18680  	s.Type = &v
 18681  	return s
 18682  }
 18683  
 18684  // The dataset used for testing. Optionally, if AutoCreate is set, Amazon Rekognition
 18685  // Custom Labels creates a testing dataset using an 80/20 split of the training
 18686  // dataset.
 18687  type TestingData struct {
 18688  	_ struct{} `type:"structure"`
 18689  
 18690  	// The assets used for testing.
 18691  	Assets []*Asset `type:"list"`
 18692  
 18693  	// If specified, Amazon Rekognition Custom Labels creates a testing dataset
 18694  	// with an 80/20 split of the training dataset.
 18695  	AutoCreate *bool `type:"boolean"`
 18696  }
 18697  
 18698  // String returns the string representation.
 18699  //
 18700  // API parameter values that are decorated as "sensitive" in the API will not
 18701  // be included in the string output. The member name will be present, but the
 18702  // value will be replaced with "sensitive".
 18703  func (s TestingData) String() string {
 18704  	return awsutil.Prettify(s)
 18705  }
 18706  
 18707  // GoString returns the string representation.
 18708  //
 18709  // API parameter values that are decorated as "sensitive" in the API will not
 18710  // be included in the string output. The member name will be present, but the
 18711  // value will be replaced with "sensitive".
 18712  func (s TestingData) GoString() string {
 18713  	return s.String()
 18714  }
 18715  
 18716  // Validate inspects the fields of the type to determine if they are valid.
 18717  func (s *TestingData) Validate() error {
 18718  	invalidParams := request.ErrInvalidParams{Context: "TestingData"}
 18719  	if s.Assets != nil {
 18720  		for i, v := range s.Assets {
 18721  			if v == nil {
 18722  				continue
 18723  			}
 18724  			if err := v.Validate(); err != nil {
 18725  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Assets", i), err.(request.ErrInvalidParams))
 18726  			}
 18727  		}
 18728  	}
 18729  
 18730  	if invalidParams.Len() > 0 {
 18731  		return invalidParams
 18732  	}
 18733  	return nil
 18734  }
 18735  
 18736  // SetAssets sets the Assets field's value.
 18737  func (s *TestingData) SetAssets(v []*Asset) *TestingData {
 18738  	s.Assets = v
 18739  	return s
 18740  }
 18741  
 18742  // SetAutoCreate sets the AutoCreate field's value.
 18743  func (s *TestingData) SetAutoCreate(v bool) *TestingData {
 18744  	s.AutoCreate = &v
 18745  	return s
 18746  }
 18747  
 18748  // Sagemaker Groundtruth format manifest files for the input, output and validation
 18749  // datasets that are used and created during testing.
 18750  type TestingDataResult struct {
 18751  	_ struct{} `type:"structure"`
 18752  
 18753  	// The testing dataset that was supplied for training.
 18754  	Input *TestingData `type:"structure"`
 18755  
 18756  	// The subset of the dataset that was actually tested. Some images (assets)
 18757  	// might not be tested due to file formatting and other issues.
 18758  	Output *TestingData `type:"structure"`
 18759  
 18760  	// The location of the data validation manifest. The data validation manifest
 18761  	// is created for the test dataset during model training.
 18762  	Validation *ValidationData `type:"structure"`
 18763  }
 18764  
 18765  // String returns the string representation.
 18766  //
 18767  // API parameter values that are decorated as "sensitive" in the API will not
 18768  // be included in the string output. The member name will be present, but the
 18769  // value will be replaced with "sensitive".
 18770  func (s TestingDataResult) String() string {
 18771  	return awsutil.Prettify(s)
 18772  }
 18773  
 18774  // GoString returns the string representation.
 18775  //
 18776  // API parameter values that are decorated as "sensitive" in the API will not
 18777  // be included in the string output. The member name will be present, but the
 18778  // value will be replaced with "sensitive".
 18779  func (s TestingDataResult) GoString() string {
 18780  	return s.String()
 18781  }
 18782  
 18783  // SetInput sets the Input field's value.
 18784  func (s *TestingDataResult) SetInput(v *TestingData) *TestingDataResult {
 18785  	s.Input = v
 18786  	return s
 18787  }
 18788  
 18789  // SetOutput sets the Output field's value.
 18790  func (s *TestingDataResult) SetOutput(v *TestingData) *TestingDataResult {
 18791  	s.Output = v
 18792  	return s
 18793  }
 18794  
 18795  // SetValidation sets the Validation field's value.
 18796  func (s *TestingDataResult) SetValidation(v *ValidationData) *TestingDataResult {
 18797  	s.Validation = v
 18798  	return s
 18799  }
 18800  
 18801  // Information about a word or line of text detected by DetectText.
 18802  //
 18803  // The DetectedText field contains the text that Amazon Rekognition detected
 18804  // in the image.
 18805  //
 18806  // Every word and line has an identifier (Id). Each word belongs to a line and
 18807  // has a parent identifier (ParentId) that identifies the line of text in which
 18808  // the word appears. The word Id is also an index for the word within a line
 18809  // of words.
 18810  //
 18811  // For more information, see Detecting Text in the Amazon Rekognition Developer
 18812  // Guide.
 18813  type TextDetection struct {
 18814  	_ struct{} `type:"structure"`
 18815  
 18816  	// The confidence that Amazon Rekognition has in the accuracy of the detected
 18817  	// text and the accuracy of the geometry points around the detected text.
 18818  	Confidence *float64 `type:"float"`
 18819  
 18820  	// The word or line of text recognized by Amazon Rekognition.
 18821  	DetectedText *string `type:"string"`
 18822  
 18823  	// The location of the detected text on the image. Includes an axis aligned
 18824  	// coarse bounding box surrounding the text and a finer grain polygon for more
 18825  	// accurate spatial information.
 18826  	Geometry *Geometry `type:"structure"`
 18827  
 18828  	// The identifier for the detected text. The identifier is only unique for a
 18829  	// single call to DetectText.
 18830  	Id *int64 `type:"integer"`
 18831  
 18832  	// The Parent identifier for the detected text identified by the value of ID.
 18833  	// If the type of detected text is LINE, the value of ParentId is Null.
 18834  	ParentId *int64 `type:"integer"`
 18835  
 18836  	// The type of text that was detected.
 18837  	Type *string `type:"string" enum:"TextTypes"`
 18838  }
 18839  
 18840  // String returns the string representation.
 18841  //
 18842  // API parameter values that are decorated as "sensitive" in the API will not
 18843  // be included in the string output. The member name will be present, but the
 18844  // value will be replaced with "sensitive".
 18845  func (s TextDetection) String() string {
 18846  	return awsutil.Prettify(s)
 18847  }
 18848  
 18849  // GoString returns the string representation.
 18850  //
 18851  // API parameter values that are decorated as "sensitive" in the API will not
 18852  // be included in the string output. The member name will be present, but the
 18853  // value will be replaced with "sensitive".
 18854  func (s TextDetection) GoString() string {
 18855  	return s.String()
 18856  }
 18857  
 18858  // SetConfidence sets the Confidence field's value.
 18859  func (s *TextDetection) SetConfidence(v float64) *TextDetection {
 18860  	s.Confidence = &v
 18861  	return s
 18862  }
 18863  
 18864  // SetDetectedText sets the DetectedText field's value.
 18865  func (s *TextDetection) SetDetectedText(v string) *TextDetection {
 18866  	s.DetectedText = &v
 18867  	return s
 18868  }
 18869  
 18870  // SetGeometry sets the Geometry field's value.
 18871  func (s *TextDetection) SetGeometry(v *Geometry) *TextDetection {
 18872  	s.Geometry = v
 18873  	return s
 18874  }
 18875  
 18876  // SetId sets the Id field's value.
 18877  func (s *TextDetection) SetId(v int64) *TextDetection {
 18878  	s.Id = &v
 18879  	return s
 18880  }
 18881  
 18882  // SetParentId sets the ParentId field's value.
 18883  func (s *TextDetection) SetParentId(v int64) *TextDetection {
 18884  	s.ParentId = &v
 18885  	return s
 18886  }
 18887  
 18888  // SetType sets the Type field's value.
 18889  func (s *TextDetection) SetType(v string) *TextDetection {
 18890  	s.Type = &v
 18891  	return s
 18892  }
 18893  
 18894  // Information about text detected in a video. Incudes the detected text, the
 18895  // time in milliseconds from the start of the video that the text was detected,
 18896  // and where it was detected on the screen.
 18897  type TextDetectionResult struct {
 18898  	_ struct{} `type:"structure"`
 18899  
 18900  	// Details about text detected in a video.
 18901  	TextDetection *TextDetection `type:"structure"`
 18902  
 18903  	// The time, in milliseconds from the start of the video, that the text was
 18904  	// detected.
 18905  	Timestamp *int64 `type:"long"`
 18906  }
 18907  
 18908  // String returns the string representation.
 18909  //
 18910  // API parameter values that are decorated as "sensitive" in the API will not
 18911  // be included in the string output. The member name will be present, but the
 18912  // value will be replaced with "sensitive".
 18913  func (s TextDetectionResult) String() string {
 18914  	return awsutil.Prettify(s)
 18915  }
 18916  
 18917  // GoString returns the string representation.
 18918  //
 18919  // API parameter values that are decorated as "sensitive" in the API will not
 18920  // be included in the string output. The member name will be present, but the
 18921  // value will be replaced with "sensitive".
 18922  func (s TextDetectionResult) GoString() string {
 18923  	return s.String()
 18924  }
 18925  
 18926  // SetTextDetection sets the TextDetection field's value.
 18927  func (s *TextDetectionResult) SetTextDetection(v *TextDetection) *TextDetectionResult {
 18928  	s.TextDetection = v
 18929  	return s
 18930  }
 18931  
 18932  // SetTimestamp sets the Timestamp field's value.
 18933  func (s *TextDetectionResult) SetTimestamp(v int64) *TextDetectionResult {
 18934  	s.Timestamp = &v
 18935  	return s
 18936  }
 18937  
 18938  // Amazon Rekognition is temporarily unable to process the request. Try your
 18939  // call again.
 18940  type ThrottlingException struct {
 18941  	_            struct{}                  `type:"structure"`
 18942  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 18943  
 18944  	Message_ *string `locationName:"message" type:"string"`
 18945  }
 18946  
 18947  // String returns the string representation.
 18948  //
 18949  // API parameter values that are decorated as "sensitive" in the API will not
 18950  // be included in the string output. The member name will be present, but the
 18951  // value will be replaced with "sensitive".
 18952  func (s ThrottlingException) String() string {
 18953  	return awsutil.Prettify(s)
 18954  }
 18955  
 18956  // GoString returns the string representation.
 18957  //
 18958  // API parameter values that are decorated as "sensitive" in the API will not
 18959  // be included in the string output. The member name will be present, but the
 18960  // value will be replaced with "sensitive".
 18961  func (s ThrottlingException) GoString() string {
 18962  	return s.String()
 18963  }
 18964  
 18965  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
 18966  	return &ThrottlingException{
 18967  		RespMetadata: v,
 18968  	}
 18969  }
 18970  
 18971  // Code returns the exception type name.
 18972  func (s *ThrottlingException) Code() string {
 18973  	return "ThrottlingException"
 18974  }
 18975  
 18976  // Message returns the exception's message.
 18977  func (s *ThrottlingException) Message() string {
 18978  	if s.Message_ != nil {
 18979  		return *s.Message_
 18980  	}
 18981  	return ""
 18982  }
 18983  
 18984  // OrigErr always returns nil, satisfies awserr.Error interface.
 18985  func (s *ThrottlingException) OrigErr() error {
 18986  	return nil
 18987  }
 18988  
 18989  func (s *ThrottlingException) Error() string {
 18990  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 18991  }
 18992  
 18993  // Status code returns the HTTP status code for the request's response error.
 18994  func (s *ThrottlingException) StatusCode() int {
 18995  	return s.RespMetadata.StatusCode
 18996  }
 18997  
 18998  // RequestID returns the service's response RequestID for request.
 18999  func (s *ThrottlingException) RequestID() string {
 19000  	return s.RespMetadata.RequestID
 19001  }
 19002  
 19003  // The dataset used for training.
 19004  type TrainingData struct {
 19005  	_ struct{} `type:"structure"`
 19006  
 19007  	// A Sagemaker GroundTruth manifest file that contains the training images (assets).
 19008  	Assets []*Asset `type:"list"`
 19009  }
 19010  
 19011  // String returns the string representation.
 19012  //
 19013  // API parameter values that are decorated as "sensitive" in the API will not
 19014  // be included in the string output. The member name will be present, but the
 19015  // value will be replaced with "sensitive".
 19016  func (s TrainingData) String() string {
 19017  	return awsutil.Prettify(s)
 19018  }
 19019  
 19020  // GoString returns the string representation.
 19021  //
 19022  // API parameter values that are decorated as "sensitive" in the API will not
 19023  // be included in the string output. The member name will be present, but the
 19024  // value will be replaced with "sensitive".
 19025  func (s TrainingData) GoString() string {
 19026  	return s.String()
 19027  }
 19028  
 19029  // Validate inspects the fields of the type to determine if they are valid.
 19030  func (s *TrainingData) Validate() error {
 19031  	invalidParams := request.ErrInvalidParams{Context: "TrainingData"}
 19032  	if s.Assets != nil {
 19033  		for i, v := range s.Assets {
 19034  			if v == nil {
 19035  				continue
 19036  			}
 19037  			if err := v.Validate(); err != nil {
 19038  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Assets", i), err.(request.ErrInvalidParams))
 19039  			}
 19040  		}
 19041  	}
 19042  
 19043  	if invalidParams.Len() > 0 {
 19044  		return invalidParams
 19045  	}
 19046  	return nil
 19047  }
 19048  
 19049  // SetAssets sets the Assets field's value.
 19050  func (s *TrainingData) SetAssets(v []*Asset) *TrainingData {
 19051  	s.Assets = v
 19052  	return s
 19053  }
 19054  
 19055  // Sagemaker Groundtruth format manifest files for the input, output and validation
 19056  // datasets that are used and created during testing.
 19057  type TrainingDataResult struct {
 19058  	_ struct{} `type:"structure"`
 19059  
 19060  	// The training assets that you supplied for training.
 19061  	Input *TrainingData `type:"structure"`
 19062  
 19063  	// The images (assets) that were actually trained by Amazon Rekognition Custom
 19064  	// Labels.
 19065  	Output *TrainingData `type:"structure"`
 19066  
 19067  	// The location of the data validation manifest. The data validation manifest
 19068  	// is created for the training dataset during model training.
 19069  	Validation *ValidationData `type:"structure"`
 19070  }
 19071  
 19072  // String returns the string representation.
 19073  //
 19074  // API parameter values that are decorated as "sensitive" in the API will not
 19075  // be included in the string output. The member name will be present, but the
 19076  // value will be replaced with "sensitive".
 19077  func (s TrainingDataResult) String() string {
 19078  	return awsutil.Prettify(s)
 19079  }
 19080  
 19081  // GoString returns the string representation.
 19082  //
 19083  // API parameter values that are decorated as "sensitive" in the API will not
 19084  // be included in the string output. The member name will be present, but the
 19085  // value will be replaced with "sensitive".
 19086  func (s TrainingDataResult) GoString() string {
 19087  	return s.String()
 19088  }
 19089  
 19090  // SetInput sets the Input field's value.
 19091  func (s *TrainingDataResult) SetInput(v *TrainingData) *TrainingDataResult {
 19092  	s.Input = v
 19093  	return s
 19094  }
 19095  
 19096  // SetOutput sets the Output field's value.
 19097  func (s *TrainingDataResult) SetOutput(v *TrainingData) *TrainingDataResult {
 19098  	s.Output = v
 19099  	return s
 19100  }
 19101  
 19102  // SetValidation sets the Validation field's value.
 19103  func (s *TrainingDataResult) SetValidation(v *ValidationData) *TrainingDataResult {
 19104  	s.Validation = v
 19105  	return s
 19106  }
 19107  
 19108  // A face that IndexFaces detected, but didn't index. Use the Reasons response
 19109  // attribute to determine why a face wasn't indexed.
 19110  type UnindexedFace struct {
 19111  	_ struct{} `type:"structure"`
 19112  
 19113  	// The structure that contains attributes of a face that IndexFacesdetected,
 19114  	// but didn't index.
 19115  	FaceDetail *FaceDetail `type:"structure"`
 19116  
 19117  	// An array of reasons that specify why a face wasn't indexed.
 19118  	//
 19119  	//    * EXTREME_POSE - The face is at a pose that can't be detected. For example,
 19120  	//    the head is turned too far away from the camera.
 19121  	//
 19122  	//    * EXCEEDS_MAX_FACES - The number of faces detected is already higher than
 19123  	//    that specified by the MaxFaces input parameter for IndexFaces.
 19124  	//
 19125  	//    * LOW_BRIGHTNESS - The image is too dark.
 19126  	//
 19127  	//    * LOW_SHARPNESS - The image is too blurry.
 19128  	//
 19129  	//    * LOW_CONFIDENCE - The face was detected with a low confidence.
 19130  	//
 19131  	//    * SMALL_BOUNDING_BOX - The bounding box around the face is too small.
 19132  	Reasons []*string `type:"list"`
 19133  }
 19134  
 19135  // String returns the string representation.
 19136  //
 19137  // API parameter values that are decorated as "sensitive" in the API will not
 19138  // be included in the string output. The member name will be present, but the
 19139  // value will be replaced with "sensitive".
 19140  func (s UnindexedFace) String() string {
 19141  	return awsutil.Prettify(s)
 19142  }
 19143  
 19144  // GoString returns the string representation.
 19145  //
 19146  // API parameter values that are decorated as "sensitive" in the API will not
 19147  // be included in the string output. The member name will be present, but the
 19148  // value will be replaced with "sensitive".
 19149  func (s UnindexedFace) GoString() string {
 19150  	return s.String()
 19151  }
 19152  
 19153  // SetFaceDetail sets the FaceDetail field's value.
 19154  func (s *UnindexedFace) SetFaceDetail(v *FaceDetail) *UnindexedFace {
 19155  	s.FaceDetail = v
 19156  	return s
 19157  }
 19158  
 19159  // SetReasons sets the Reasons field's value.
 19160  func (s *UnindexedFace) SetReasons(v []*string) *UnindexedFace {
 19161  	s.Reasons = v
 19162  	return s
 19163  }
 19164  
 19165  type UntagResourceInput struct {
 19166  	_ struct{} `type:"structure"`
 19167  
 19168  	// Amazon Resource Name (ARN) of the model, collection, or stream processor
 19169  	// that you want to remove the tags from.
 19170  	//
 19171  	// ResourceArn is a required field
 19172  	ResourceArn *string `min:"20" type:"string" required:"true"`
 19173  
 19174  	// A list of the tags that you want to remove.
 19175  	//
 19176  	// TagKeys is a required field
 19177  	TagKeys []*string `type:"list" required:"true"`
 19178  }
 19179  
 19180  // String returns the string representation.
 19181  //
 19182  // API parameter values that are decorated as "sensitive" in the API will not
 19183  // be included in the string output. The member name will be present, but the
 19184  // value will be replaced with "sensitive".
 19185  func (s UntagResourceInput) String() string {
 19186  	return awsutil.Prettify(s)
 19187  }
 19188  
 19189  // GoString returns the string representation.
 19190  //
 19191  // API parameter values that are decorated as "sensitive" in the API will not
 19192  // be included in the string output. The member name will be present, but the
 19193  // value will be replaced with "sensitive".
 19194  func (s UntagResourceInput) GoString() string {
 19195  	return s.String()
 19196  }
 19197  
 19198  // Validate inspects the fields of the type to determine if they are valid.
 19199  func (s *UntagResourceInput) Validate() error {
 19200  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 19201  	if s.ResourceArn == nil {
 19202  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 19203  	}
 19204  	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
 19205  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
 19206  	}
 19207  	if s.TagKeys == nil {
 19208  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 19209  	}
 19210  
 19211  	if invalidParams.Len() > 0 {
 19212  		return invalidParams
 19213  	}
 19214  	return nil
 19215  }
 19216  
 19217  // SetResourceArn sets the ResourceArn field's value.
 19218  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 19219  	s.ResourceArn = &v
 19220  	return s
 19221  }
 19222  
 19223  // SetTagKeys sets the TagKeys field's value.
 19224  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 19225  	s.TagKeys = v
 19226  	return s
 19227  }
 19228  
 19229  type UntagResourceOutput struct {
 19230  	_ struct{} `type:"structure"`
 19231  }
 19232  
 19233  // String returns the string representation.
 19234  //
 19235  // API parameter values that are decorated as "sensitive" in the API will not
 19236  // be included in the string output. The member name will be present, but the
 19237  // value will be replaced with "sensitive".
 19238  func (s UntagResourceOutput) String() string {
 19239  	return awsutil.Prettify(s)
 19240  }
 19241  
 19242  // GoString returns the string representation.
 19243  //
 19244  // API parameter values that are decorated as "sensitive" in the API will not
 19245  // be included in the string output. The member name will be present, but the
 19246  // value will be replaced with "sensitive".
 19247  func (s UntagResourceOutput) GoString() string {
 19248  	return s.String()
 19249  }
 19250  
 19251  // Contains the Amazon S3 bucket location of the validation data for a model
 19252  // training job.
 19253  //
 19254  // The validation data includes error information for individual JSON lines
 19255  // in the dataset. For more information, see Debugging a Failed Model Training
 19256  // in the Amazon Rekognition Custom Labels Developer Guide.
 19257  //
 19258  // You get the ValidationData object for the training dataset (TrainingDataResult)
 19259  // and the test dataset (TestingDataResult) by calling DescribeProjectVersions.
 19260  //
 19261  // The assets array contains a single Asset object. The GroundTruthManifest
 19262  // field of the Asset object contains the S3 bucket location of the validation
 19263  // data.
 19264  type ValidationData struct {
 19265  	_ struct{} `type:"structure"`
 19266  
 19267  	// The assets that comprise the validation data.
 19268  	Assets []*Asset `type:"list"`
 19269  }
 19270  
 19271  // String returns the string representation.
 19272  //
 19273  // API parameter values that are decorated as "sensitive" in the API will not
 19274  // be included in the string output. The member name will be present, but the
 19275  // value will be replaced with "sensitive".
 19276  func (s ValidationData) String() string {
 19277  	return awsutil.Prettify(s)
 19278  }
 19279  
 19280  // GoString returns the string representation.
 19281  //
 19282  // API parameter values that are decorated as "sensitive" in the API will not
 19283  // be included in the string output. The member name will be present, but the
 19284  // value will be replaced with "sensitive".
 19285  func (s ValidationData) GoString() string {
 19286  	return s.String()
 19287  }
 19288  
 19289  // SetAssets sets the Assets field's value.
 19290  func (s *ValidationData) SetAssets(v []*Asset) *ValidationData {
 19291  	s.Assets = v
 19292  	return s
 19293  }
 19294  
 19295  // Video file stored in an Amazon S3 bucket. Amazon Rekognition video start
 19296  // operations such as StartLabelDetection use Video to specify a video for analysis.
 19297  // The supported file formats are .mp4, .mov and .avi.
 19298  type Video struct {
 19299  	_ struct{} `type:"structure"`
 19300  
 19301  	// The Amazon S3 bucket name and file name for the video.
 19302  	S3Object *S3Object `type:"structure"`
 19303  }
 19304  
 19305  // String returns the string representation.
 19306  //
 19307  // API parameter values that are decorated as "sensitive" in the API will not
 19308  // be included in the string output. The member name will be present, but the
 19309  // value will be replaced with "sensitive".
 19310  func (s Video) String() string {
 19311  	return awsutil.Prettify(s)
 19312  }
 19313  
 19314  // GoString returns the string representation.
 19315  //
 19316  // API parameter values that are decorated as "sensitive" in the API will not
 19317  // be included in the string output. The member name will be present, but the
 19318  // value will be replaced with "sensitive".
 19319  func (s Video) GoString() string {
 19320  	return s.String()
 19321  }
 19322  
 19323  // Validate inspects the fields of the type to determine if they are valid.
 19324  func (s *Video) Validate() error {
 19325  	invalidParams := request.ErrInvalidParams{Context: "Video"}
 19326  	if s.S3Object != nil {
 19327  		if err := s.S3Object.Validate(); err != nil {
 19328  			invalidParams.AddNested("S3Object", err.(request.ErrInvalidParams))
 19329  		}
 19330  	}
 19331  
 19332  	if invalidParams.Len() > 0 {
 19333  		return invalidParams
 19334  	}
 19335  	return nil
 19336  }
 19337  
 19338  // SetS3Object sets the S3Object field's value.
 19339  func (s *Video) SetS3Object(v *S3Object) *Video {
 19340  	s.S3Object = v
 19341  	return s
 19342  }
 19343  
 19344  // Information about a video that Amazon Rekognition analyzed. Videometadata
 19345  // is returned in every page of paginated responses from a Amazon Rekognition
 19346  // video operation.
 19347  type VideoMetadata struct {
 19348  	_ struct{} `type:"structure"`
 19349  
 19350  	// Type of compression used in the analyzed video.
 19351  	Codec *string `type:"string"`
 19352  
 19353  	// A description of the range of luminance values in a video, either LIMITED
 19354  	// (16 to 235) or FULL (0 to 255).
 19355  	ColorRange *string `type:"string" enum:"VideoColorRange"`
 19356  
 19357  	// Length of the video in milliseconds.
 19358  	DurationMillis *int64 `type:"long"`
 19359  
 19360  	// Format of the analyzed video. Possible values are MP4, MOV and AVI.
 19361  	Format *string `type:"string"`
 19362  
 19363  	// Vertical pixel dimension of the video.
 19364  	FrameHeight *int64 `type:"long"`
 19365  
 19366  	// Number of frames per second in the video.
 19367  	FrameRate *float64 `type:"float"`
 19368  
 19369  	// Horizontal pixel dimension of the video.
 19370  	FrameWidth *int64 `type:"long"`
 19371  }
 19372  
 19373  // String returns the string representation.
 19374  //
 19375  // API parameter values that are decorated as "sensitive" in the API will not
 19376  // be included in the string output. The member name will be present, but the
 19377  // value will be replaced with "sensitive".
 19378  func (s VideoMetadata) String() string {
 19379  	return awsutil.Prettify(s)
 19380  }
 19381  
 19382  // GoString returns the string representation.
 19383  //
 19384  // API parameter values that are decorated as "sensitive" in the API will not
 19385  // be included in the string output. The member name will be present, but the
 19386  // value will be replaced with "sensitive".
 19387  func (s VideoMetadata) GoString() string {
 19388  	return s.String()
 19389  }
 19390  
 19391  // SetCodec sets the Codec field's value.
 19392  func (s *VideoMetadata) SetCodec(v string) *VideoMetadata {
 19393  	s.Codec = &v
 19394  	return s
 19395  }
 19396  
 19397  // SetColorRange sets the ColorRange field's value.
 19398  func (s *VideoMetadata) SetColorRange(v string) *VideoMetadata {
 19399  	s.ColorRange = &v
 19400  	return s
 19401  }
 19402  
 19403  // SetDurationMillis sets the DurationMillis field's value.
 19404  func (s *VideoMetadata) SetDurationMillis(v int64) *VideoMetadata {
 19405  	s.DurationMillis = &v
 19406  	return s
 19407  }
 19408  
 19409  // SetFormat sets the Format field's value.
 19410  func (s *VideoMetadata) SetFormat(v string) *VideoMetadata {
 19411  	s.Format = &v
 19412  	return s
 19413  }
 19414  
 19415  // SetFrameHeight sets the FrameHeight field's value.
 19416  func (s *VideoMetadata) SetFrameHeight(v int64) *VideoMetadata {
 19417  	s.FrameHeight = &v
 19418  	return s
 19419  }
 19420  
 19421  // SetFrameRate sets the FrameRate field's value.
 19422  func (s *VideoMetadata) SetFrameRate(v float64) *VideoMetadata {
 19423  	s.FrameRate = &v
 19424  	return s
 19425  }
 19426  
 19427  // SetFrameWidth sets the FrameWidth field's value.
 19428  func (s *VideoMetadata) SetFrameWidth(v int64) *VideoMetadata {
 19429  	s.FrameWidth = &v
 19430  	return s
 19431  }
 19432  
 19433  // The file size or duration of the supplied media is too large. The maximum
 19434  // file size is 10GB. The maximum duration is 6 hours.
 19435  type VideoTooLargeException struct {
 19436  	_            struct{}                  `type:"structure"`
 19437  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 19438  
 19439  	Message_ *string `locationName:"message" type:"string"`
 19440  }
 19441  
 19442  // String returns the string representation.
 19443  //
 19444  // API parameter values that are decorated as "sensitive" in the API will not
 19445  // be included in the string output. The member name will be present, but the
 19446  // value will be replaced with "sensitive".
 19447  func (s VideoTooLargeException) String() string {
 19448  	return awsutil.Prettify(s)
 19449  }
 19450  
 19451  // GoString returns the string representation.
 19452  //
 19453  // API parameter values that are decorated as "sensitive" in the API will not
 19454  // be included in the string output. The member name will be present, but the
 19455  // value will be replaced with "sensitive".
 19456  func (s VideoTooLargeException) GoString() string {
 19457  	return s.String()
 19458  }
 19459  
 19460  func newErrorVideoTooLargeException(v protocol.ResponseMetadata) error {
 19461  	return &VideoTooLargeException{
 19462  		RespMetadata: v,
 19463  	}
 19464  }
 19465  
 19466  // Code returns the exception type name.
 19467  func (s *VideoTooLargeException) Code() string {
 19468  	return "VideoTooLargeException"
 19469  }
 19470  
 19471  // Message returns the exception's message.
 19472  func (s *VideoTooLargeException) Message() string {
 19473  	if s.Message_ != nil {
 19474  		return *s.Message_
 19475  	}
 19476  	return ""
 19477  }
 19478  
 19479  // OrigErr always returns nil, satisfies awserr.Error interface.
 19480  func (s *VideoTooLargeException) OrigErr() error {
 19481  	return nil
 19482  }
 19483  
 19484  func (s *VideoTooLargeException) Error() string {
 19485  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 19486  }
 19487  
 19488  // Status code returns the HTTP status code for the request's response error.
 19489  func (s *VideoTooLargeException) StatusCode() int {
 19490  	return s.RespMetadata.StatusCode
 19491  }
 19492  
 19493  // RequestID returns the service's response RequestID for request.
 19494  func (s *VideoTooLargeException) RequestID() string {
 19495  	return s.RespMetadata.RequestID
 19496  }
 19497  
 19498  const (
 19499  	// AttributeDefault is a Attribute enum value
 19500  	AttributeDefault = "DEFAULT"
 19501  
 19502  	// AttributeAll is a Attribute enum value
 19503  	AttributeAll = "ALL"
 19504  )
 19505  
 19506  // Attribute_Values returns all elements of the Attribute enum
 19507  func Attribute_Values() []string {
 19508  	return []string{
 19509  		AttributeDefault,
 19510  		AttributeAll,
 19511  	}
 19512  }
 19513  
 19514  const (
 19515  	// BodyPartFace is a BodyPart enum value
 19516  	BodyPartFace = "FACE"
 19517  
 19518  	// BodyPartHead is a BodyPart enum value
 19519  	BodyPartHead = "HEAD"
 19520  
 19521  	// BodyPartLeftHand is a BodyPart enum value
 19522  	BodyPartLeftHand = "LEFT_HAND"
 19523  
 19524  	// BodyPartRightHand is a BodyPart enum value
 19525  	BodyPartRightHand = "RIGHT_HAND"
 19526  )
 19527  
 19528  // BodyPart_Values returns all elements of the BodyPart enum
 19529  func BodyPart_Values() []string {
 19530  	return []string{
 19531  		BodyPartFace,
 19532  		BodyPartHead,
 19533  		BodyPartLeftHand,
 19534  		BodyPartRightHand,
 19535  	}
 19536  }
 19537  
 19538  const (
 19539  	// CelebrityRecognitionSortById is a CelebrityRecognitionSortBy enum value
 19540  	CelebrityRecognitionSortById = "ID"
 19541  
 19542  	// CelebrityRecognitionSortByTimestamp is a CelebrityRecognitionSortBy enum value
 19543  	CelebrityRecognitionSortByTimestamp = "TIMESTAMP"
 19544  )
 19545  
 19546  // CelebrityRecognitionSortBy_Values returns all elements of the CelebrityRecognitionSortBy enum
 19547  func CelebrityRecognitionSortBy_Values() []string {
 19548  	return []string{
 19549  		CelebrityRecognitionSortById,
 19550  		CelebrityRecognitionSortByTimestamp,
 19551  	}
 19552  }
 19553  
 19554  const (
 19555  	// ContentClassifierFreeOfPersonallyIdentifiableInformation is a ContentClassifier enum value
 19556  	ContentClassifierFreeOfPersonallyIdentifiableInformation = "FreeOfPersonallyIdentifiableInformation"
 19557  
 19558  	// ContentClassifierFreeOfAdultContent is a ContentClassifier enum value
 19559  	ContentClassifierFreeOfAdultContent = "FreeOfAdultContent"
 19560  )
 19561  
 19562  // ContentClassifier_Values returns all elements of the ContentClassifier enum
 19563  func ContentClassifier_Values() []string {
 19564  	return []string{
 19565  		ContentClassifierFreeOfPersonallyIdentifiableInformation,
 19566  		ContentClassifierFreeOfAdultContent,
 19567  	}
 19568  }
 19569  
 19570  const (
 19571  	// ContentModerationSortByName is a ContentModerationSortBy enum value
 19572  	ContentModerationSortByName = "NAME"
 19573  
 19574  	// ContentModerationSortByTimestamp is a ContentModerationSortBy enum value
 19575  	ContentModerationSortByTimestamp = "TIMESTAMP"
 19576  )
 19577  
 19578  // ContentModerationSortBy_Values returns all elements of the ContentModerationSortBy enum
 19579  func ContentModerationSortBy_Values() []string {
 19580  	return []string{
 19581  		ContentModerationSortByName,
 19582  		ContentModerationSortByTimestamp,
 19583  	}
 19584  }
 19585  
 19586  const (
 19587  	// EmotionNameHappy is a EmotionName enum value
 19588  	EmotionNameHappy = "HAPPY"
 19589  
 19590  	// EmotionNameSad is a EmotionName enum value
 19591  	EmotionNameSad = "SAD"
 19592  
 19593  	// EmotionNameAngry is a EmotionName enum value
 19594  	EmotionNameAngry = "ANGRY"
 19595  
 19596  	// EmotionNameConfused is a EmotionName enum value
 19597  	EmotionNameConfused = "CONFUSED"
 19598  
 19599  	// EmotionNameDisgusted is a EmotionName enum value
 19600  	EmotionNameDisgusted = "DISGUSTED"
 19601  
 19602  	// EmotionNameSurprised is a EmotionName enum value
 19603  	EmotionNameSurprised = "SURPRISED"
 19604  
 19605  	// EmotionNameCalm is a EmotionName enum value
 19606  	EmotionNameCalm = "CALM"
 19607  
 19608  	// EmotionNameUnknown is a EmotionName enum value
 19609  	EmotionNameUnknown = "UNKNOWN"
 19610  
 19611  	// EmotionNameFear is a EmotionName enum value
 19612  	EmotionNameFear = "FEAR"
 19613  )
 19614  
 19615  // EmotionName_Values returns all elements of the EmotionName enum
 19616  func EmotionName_Values() []string {
 19617  	return []string{
 19618  		EmotionNameHappy,
 19619  		EmotionNameSad,
 19620  		EmotionNameAngry,
 19621  		EmotionNameConfused,
 19622  		EmotionNameDisgusted,
 19623  		EmotionNameSurprised,
 19624  		EmotionNameCalm,
 19625  		EmotionNameUnknown,
 19626  		EmotionNameFear,
 19627  	}
 19628  }
 19629  
 19630  const (
 19631  	// FaceAttributesDefault is a FaceAttributes enum value
 19632  	FaceAttributesDefault = "DEFAULT"
 19633  
 19634  	// FaceAttributesAll is a FaceAttributes enum value
 19635  	FaceAttributesAll = "ALL"
 19636  )
 19637  
 19638  // FaceAttributes_Values returns all elements of the FaceAttributes enum
 19639  func FaceAttributes_Values() []string {
 19640  	return []string{
 19641  		FaceAttributesDefault,
 19642  		FaceAttributesAll,
 19643  	}
 19644  }
 19645  
 19646  const (
 19647  	// FaceSearchSortByIndex is a FaceSearchSortBy enum value
 19648  	FaceSearchSortByIndex = "INDEX"
 19649  
 19650  	// FaceSearchSortByTimestamp is a FaceSearchSortBy enum value
 19651  	FaceSearchSortByTimestamp = "TIMESTAMP"
 19652  )
 19653  
 19654  // FaceSearchSortBy_Values returns all elements of the FaceSearchSortBy enum
 19655  func FaceSearchSortBy_Values() []string {
 19656  	return []string{
 19657  		FaceSearchSortByIndex,
 19658  		FaceSearchSortByTimestamp,
 19659  	}
 19660  }
 19661  
 19662  const (
 19663  	// GenderTypeMale is a GenderType enum value
 19664  	GenderTypeMale = "Male"
 19665  
 19666  	// GenderTypeFemale is a GenderType enum value
 19667  	GenderTypeFemale = "Female"
 19668  )
 19669  
 19670  // GenderType_Values returns all elements of the GenderType enum
 19671  func GenderType_Values() []string {
 19672  	return []string{
 19673  		GenderTypeMale,
 19674  		GenderTypeFemale,
 19675  	}
 19676  }
 19677  
 19678  // A list of enum string of possible gender values that Celebrity returns.
 19679  const (
 19680  	// KnownGenderTypeMale is a KnownGenderType enum value
 19681  	KnownGenderTypeMale = "Male"
 19682  
 19683  	// KnownGenderTypeFemale is a KnownGenderType enum value
 19684  	KnownGenderTypeFemale = "Female"
 19685  )
 19686  
 19687  // KnownGenderType_Values returns all elements of the KnownGenderType enum
 19688  func KnownGenderType_Values() []string {
 19689  	return []string{
 19690  		KnownGenderTypeMale,
 19691  		KnownGenderTypeFemale,
 19692  	}
 19693  }
 19694  
 19695  const (
 19696  	// LabelDetectionSortByName is a LabelDetectionSortBy enum value
 19697  	LabelDetectionSortByName = "NAME"
 19698  
 19699  	// LabelDetectionSortByTimestamp is a LabelDetectionSortBy enum value
 19700  	LabelDetectionSortByTimestamp = "TIMESTAMP"
 19701  )
 19702  
 19703  // LabelDetectionSortBy_Values returns all elements of the LabelDetectionSortBy enum
 19704  func LabelDetectionSortBy_Values() []string {
 19705  	return []string{
 19706  		LabelDetectionSortByName,
 19707  		LabelDetectionSortByTimestamp,
 19708  	}
 19709  }
 19710  
 19711  const (
 19712  	// LandmarkTypeEyeLeft is a LandmarkType enum value
 19713  	LandmarkTypeEyeLeft = "eyeLeft"
 19714  
 19715  	// LandmarkTypeEyeRight is a LandmarkType enum value
 19716  	LandmarkTypeEyeRight = "eyeRight"
 19717  
 19718  	// LandmarkTypeNose is a LandmarkType enum value
 19719  	LandmarkTypeNose = "nose"
 19720  
 19721  	// LandmarkTypeMouthLeft is a LandmarkType enum value
 19722  	LandmarkTypeMouthLeft = "mouthLeft"
 19723  
 19724  	// LandmarkTypeMouthRight is a LandmarkType enum value
 19725  	LandmarkTypeMouthRight = "mouthRight"
 19726  
 19727  	// LandmarkTypeLeftEyeBrowLeft is a LandmarkType enum value
 19728  	LandmarkTypeLeftEyeBrowLeft = "leftEyeBrowLeft"
 19729  
 19730  	// LandmarkTypeLeftEyeBrowRight is a LandmarkType enum value
 19731  	LandmarkTypeLeftEyeBrowRight = "leftEyeBrowRight"
 19732  
 19733  	// LandmarkTypeLeftEyeBrowUp is a LandmarkType enum value
 19734  	LandmarkTypeLeftEyeBrowUp = "leftEyeBrowUp"
 19735  
 19736  	// LandmarkTypeRightEyeBrowLeft is a LandmarkType enum value
 19737  	LandmarkTypeRightEyeBrowLeft = "rightEyeBrowLeft"
 19738  
 19739  	// LandmarkTypeRightEyeBrowRight is a LandmarkType enum value
 19740  	LandmarkTypeRightEyeBrowRight = "rightEyeBrowRight"
 19741  
 19742  	// LandmarkTypeRightEyeBrowUp is a LandmarkType enum value
 19743  	LandmarkTypeRightEyeBrowUp = "rightEyeBrowUp"
 19744  
 19745  	// LandmarkTypeLeftEyeLeft is a LandmarkType enum value
 19746  	LandmarkTypeLeftEyeLeft = "leftEyeLeft"
 19747  
 19748  	// LandmarkTypeLeftEyeRight is a LandmarkType enum value
 19749  	LandmarkTypeLeftEyeRight = "leftEyeRight"
 19750  
 19751  	// LandmarkTypeLeftEyeUp is a LandmarkType enum value
 19752  	LandmarkTypeLeftEyeUp = "leftEyeUp"
 19753  
 19754  	// LandmarkTypeLeftEyeDown is a LandmarkType enum value
 19755  	LandmarkTypeLeftEyeDown = "leftEyeDown"
 19756  
 19757  	// LandmarkTypeRightEyeLeft is a LandmarkType enum value
 19758  	LandmarkTypeRightEyeLeft = "rightEyeLeft"
 19759  
 19760  	// LandmarkTypeRightEyeRight is a LandmarkType enum value
 19761  	LandmarkTypeRightEyeRight = "rightEyeRight"
 19762  
 19763  	// LandmarkTypeRightEyeUp is a LandmarkType enum value
 19764  	LandmarkTypeRightEyeUp = "rightEyeUp"
 19765  
 19766  	// LandmarkTypeRightEyeDown is a LandmarkType enum value
 19767  	LandmarkTypeRightEyeDown = "rightEyeDown"
 19768  
 19769  	// LandmarkTypeNoseLeft is a LandmarkType enum value
 19770  	LandmarkTypeNoseLeft = "noseLeft"
 19771  
 19772  	// LandmarkTypeNoseRight is a LandmarkType enum value
 19773  	LandmarkTypeNoseRight = "noseRight"
 19774  
 19775  	// LandmarkTypeMouthUp is a LandmarkType enum value
 19776  	LandmarkTypeMouthUp = "mouthUp"
 19777  
 19778  	// LandmarkTypeMouthDown is a LandmarkType enum value
 19779  	LandmarkTypeMouthDown = "mouthDown"
 19780  
 19781  	// LandmarkTypeLeftPupil is a LandmarkType enum value
 19782  	LandmarkTypeLeftPupil = "leftPupil"
 19783  
 19784  	// LandmarkTypeRightPupil is a LandmarkType enum value
 19785  	LandmarkTypeRightPupil = "rightPupil"
 19786  
 19787  	// LandmarkTypeUpperJawlineLeft is a LandmarkType enum value
 19788  	LandmarkTypeUpperJawlineLeft = "upperJawlineLeft"
 19789  
 19790  	// LandmarkTypeMidJawlineLeft is a LandmarkType enum value
 19791  	LandmarkTypeMidJawlineLeft = "midJawlineLeft"
 19792  
 19793  	// LandmarkTypeChinBottom is a LandmarkType enum value
 19794  	LandmarkTypeChinBottom = "chinBottom"
 19795  
 19796  	// LandmarkTypeMidJawlineRight is a LandmarkType enum value
 19797  	LandmarkTypeMidJawlineRight = "midJawlineRight"
 19798  
 19799  	// LandmarkTypeUpperJawlineRight is a LandmarkType enum value
 19800  	LandmarkTypeUpperJawlineRight = "upperJawlineRight"
 19801  )
 19802  
 19803  // LandmarkType_Values returns all elements of the LandmarkType enum
 19804  func LandmarkType_Values() []string {
 19805  	return []string{
 19806  		LandmarkTypeEyeLeft,
 19807  		LandmarkTypeEyeRight,
 19808  		LandmarkTypeNose,
 19809  		LandmarkTypeMouthLeft,
 19810  		LandmarkTypeMouthRight,
 19811  		LandmarkTypeLeftEyeBrowLeft,
 19812  		LandmarkTypeLeftEyeBrowRight,
 19813  		LandmarkTypeLeftEyeBrowUp,
 19814  		LandmarkTypeRightEyeBrowLeft,
 19815  		LandmarkTypeRightEyeBrowRight,
 19816  		LandmarkTypeRightEyeBrowUp,
 19817  		LandmarkTypeLeftEyeLeft,
 19818  		LandmarkTypeLeftEyeRight,
 19819  		LandmarkTypeLeftEyeUp,
 19820  		LandmarkTypeLeftEyeDown,
 19821  		LandmarkTypeRightEyeLeft,
 19822  		LandmarkTypeRightEyeRight,
 19823  		LandmarkTypeRightEyeUp,
 19824  		LandmarkTypeRightEyeDown,
 19825  		LandmarkTypeNoseLeft,
 19826  		LandmarkTypeNoseRight,
 19827  		LandmarkTypeMouthUp,
 19828  		LandmarkTypeMouthDown,
 19829  		LandmarkTypeLeftPupil,
 19830  		LandmarkTypeRightPupil,
 19831  		LandmarkTypeUpperJawlineLeft,
 19832  		LandmarkTypeMidJawlineLeft,
 19833  		LandmarkTypeChinBottom,
 19834  		LandmarkTypeMidJawlineRight,
 19835  		LandmarkTypeUpperJawlineRight,
 19836  	}
 19837  }
 19838  
 19839  const (
 19840  	// OrientationCorrectionRotate0 is a OrientationCorrection enum value
 19841  	OrientationCorrectionRotate0 = "ROTATE_0"
 19842  
 19843  	// OrientationCorrectionRotate90 is a OrientationCorrection enum value
 19844  	OrientationCorrectionRotate90 = "ROTATE_90"
 19845  
 19846  	// OrientationCorrectionRotate180 is a OrientationCorrection enum value
 19847  	OrientationCorrectionRotate180 = "ROTATE_180"
 19848  
 19849  	// OrientationCorrectionRotate270 is a OrientationCorrection enum value
 19850  	OrientationCorrectionRotate270 = "ROTATE_270"
 19851  )
 19852  
 19853  // OrientationCorrection_Values returns all elements of the OrientationCorrection enum
 19854  func OrientationCorrection_Values() []string {
 19855  	return []string{
 19856  		OrientationCorrectionRotate0,
 19857  		OrientationCorrectionRotate90,
 19858  		OrientationCorrectionRotate180,
 19859  		OrientationCorrectionRotate270,
 19860  	}
 19861  }
 19862  
 19863  const (
 19864  	// PersonTrackingSortByIndex is a PersonTrackingSortBy enum value
 19865  	PersonTrackingSortByIndex = "INDEX"
 19866  
 19867  	// PersonTrackingSortByTimestamp is a PersonTrackingSortBy enum value
 19868  	PersonTrackingSortByTimestamp = "TIMESTAMP"
 19869  )
 19870  
 19871  // PersonTrackingSortBy_Values returns all elements of the PersonTrackingSortBy enum
 19872  func PersonTrackingSortBy_Values() []string {
 19873  	return []string{
 19874  		PersonTrackingSortByIndex,
 19875  		PersonTrackingSortByTimestamp,
 19876  	}
 19877  }
 19878  
 19879  const (
 19880  	// ProjectStatusCreating is a ProjectStatus enum value
 19881  	ProjectStatusCreating = "CREATING"
 19882  
 19883  	// ProjectStatusCreated is a ProjectStatus enum value
 19884  	ProjectStatusCreated = "CREATED"
 19885  
 19886  	// ProjectStatusDeleting is a ProjectStatus enum value
 19887  	ProjectStatusDeleting = "DELETING"
 19888  )
 19889  
 19890  // ProjectStatus_Values returns all elements of the ProjectStatus enum
 19891  func ProjectStatus_Values() []string {
 19892  	return []string{
 19893  		ProjectStatusCreating,
 19894  		ProjectStatusCreated,
 19895  		ProjectStatusDeleting,
 19896  	}
 19897  }
 19898  
 19899  const (
 19900  	// ProjectVersionStatusTrainingInProgress is a ProjectVersionStatus enum value
 19901  	ProjectVersionStatusTrainingInProgress = "TRAINING_IN_PROGRESS"
 19902  
 19903  	// ProjectVersionStatusTrainingCompleted is a ProjectVersionStatus enum value
 19904  	ProjectVersionStatusTrainingCompleted = "TRAINING_COMPLETED"
 19905  
 19906  	// ProjectVersionStatusTrainingFailed is a ProjectVersionStatus enum value
 19907  	ProjectVersionStatusTrainingFailed = "TRAINING_FAILED"
 19908  
 19909  	// ProjectVersionStatusStarting is a ProjectVersionStatus enum value
 19910  	ProjectVersionStatusStarting = "STARTING"
 19911  
 19912  	// ProjectVersionStatusRunning is a ProjectVersionStatus enum value
 19913  	ProjectVersionStatusRunning = "RUNNING"
 19914  
 19915  	// ProjectVersionStatusFailed is a ProjectVersionStatus enum value
 19916  	ProjectVersionStatusFailed = "FAILED"
 19917  
 19918  	// ProjectVersionStatusStopping is a ProjectVersionStatus enum value
 19919  	ProjectVersionStatusStopping = "STOPPING"
 19920  
 19921  	// ProjectVersionStatusStopped is a ProjectVersionStatus enum value
 19922  	ProjectVersionStatusStopped = "STOPPED"
 19923  
 19924  	// ProjectVersionStatusDeleting is a ProjectVersionStatus enum value
 19925  	ProjectVersionStatusDeleting = "DELETING"
 19926  )
 19927  
 19928  // ProjectVersionStatus_Values returns all elements of the ProjectVersionStatus enum
 19929  func ProjectVersionStatus_Values() []string {
 19930  	return []string{
 19931  		ProjectVersionStatusTrainingInProgress,
 19932  		ProjectVersionStatusTrainingCompleted,
 19933  		ProjectVersionStatusTrainingFailed,
 19934  		ProjectVersionStatusStarting,
 19935  		ProjectVersionStatusRunning,
 19936  		ProjectVersionStatusFailed,
 19937  		ProjectVersionStatusStopping,
 19938  		ProjectVersionStatusStopped,
 19939  		ProjectVersionStatusDeleting,
 19940  	}
 19941  }
 19942  
 19943  const (
 19944  	// ProtectiveEquipmentTypeFaceCover is a ProtectiveEquipmentType enum value
 19945  	ProtectiveEquipmentTypeFaceCover = "FACE_COVER"
 19946  
 19947  	// ProtectiveEquipmentTypeHandCover is a ProtectiveEquipmentType enum value
 19948  	ProtectiveEquipmentTypeHandCover = "HAND_COVER"
 19949  
 19950  	// ProtectiveEquipmentTypeHeadCover is a ProtectiveEquipmentType enum value
 19951  	ProtectiveEquipmentTypeHeadCover = "HEAD_COVER"
 19952  )
 19953  
 19954  // ProtectiveEquipmentType_Values returns all elements of the ProtectiveEquipmentType enum
 19955  func ProtectiveEquipmentType_Values() []string {
 19956  	return []string{
 19957  		ProtectiveEquipmentTypeFaceCover,
 19958  		ProtectiveEquipmentTypeHandCover,
 19959  		ProtectiveEquipmentTypeHeadCover,
 19960  	}
 19961  }
 19962  
 19963  const (
 19964  	// QualityFilterNone is a QualityFilter enum value
 19965  	QualityFilterNone = "NONE"
 19966  
 19967  	// QualityFilterAuto is a QualityFilter enum value
 19968  	QualityFilterAuto = "AUTO"
 19969  
 19970  	// QualityFilterLow is a QualityFilter enum value
 19971  	QualityFilterLow = "LOW"
 19972  
 19973  	// QualityFilterMedium is a QualityFilter enum value
 19974  	QualityFilterMedium = "MEDIUM"
 19975  
 19976  	// QualityFilterHigh is a QualityFilter enum value
 19977  	QualityFilterHigh = "HIGH"
 19978  )
 19979  
 19980  // QualityFilter_Values returns all elements of the QualityFilter enum
 19981  func QualityFilter_Values() []string {
 19982  	return []string{
 19983  		QualityFilterNone,
 19984  		QualityFilterAuto,
 19985  		QualityFilterLow,
 19986  		QualityFilterMedium,
 19987  		QualityFilterHigh,
 19988  	}
 19989  }
 19990  
 19991  const (
 19992  	// ReasonExceedsMaxFaces is a Reason enum value
 19993  	ReasonExceedsMaxFaces = "EXCEEDS_MAX_FACES"
 19994  
 19995  	// ReasonExtremePose is a Reason enum value
 19996  	ReasonExtremePose = "EXTREME_POSE"
 19997  
 19998  	// ReasonLowBrightness is a Reason enum value
 19999  	ReasonLowBrightness = "LOW_BRIGHTNESS"
 20000  
 20001  	// ReasonLowSharpness is a Reason enum value
 20002  	ReasonLowSharpness = "LOW_SHARPNESS"
 20003  
 20004  	// ReasonLowConfidence is a Reason enum value
 20005  	ReasonLowConfidence = "LOW_CONFIDENCE"
 20006  
 20007  	// ReasonSmallBoundingBox is a Reason enum value
 20008  	ReasonSmallBoundingBox = "SMALL_BOUNDING_BOX"
 20009  
 20010  	// ReasonLowFaceQuality is a Reason enum value
 20011  	ReasonLowFaceQuality = "LOW_FACE_QUALITY"
 20012  )
 20013  
 20014  // Reason_Values returns all elements of the Reason enum
 20015  func Reason_Values() []string {
 20016  	return []string{
 20017  		ReasonExceedsMaxFaces,
 20018  		ReasonExtremePose,
 20019  		ReasonLowBrightness,
 20020  		ReasonLowSharpness,
 20021  		ReasonLowConfidence,
 20022  		ReasonSmallBoundingBox,
 20023  		ReasonLowFaceQuality,
 20024  	}
 20025  }
 20026  
 20027  const (
 20028  	// SegmentTypeTechnicalCue is a SegmentType enum value
 20029  	SegmentTypeTechnicalCue = "TECHNICAL_CUE"
 20030  
 20031  	// SegmentTypeShot is a SegmentType enum value
 20032  	SegmentTypeShot = "SHOT"
 20033  )
 20034  
 20035  // SegmentType_Values returns all elements of the SegmentType enum
 20036  func SegmentType_Values() []string {
 20037  	return []string{
 20038  		SegmentTypeTechnicalCue,
 20039  		SegmentTypeShot,
 20040  	}
 20041  }
 20042  
 20043  const (
 20044  	// StreamProcessorStatusStopped is a StreamProcessorStatus enum value
 20045  	StreamProcessorStatusStopped = "STOPPED"
 20046  
 20047  	// StreamProcessorStatusStarting is a StreamProcessorStatus enum value
 20048  	StreamProcessorStatusStarting = "STARTING"
 20049  
 20050  	// StreamProcessorStatusRunning is a StreamProcessorStatus enum value
 20051  	StreamProcessorStatusRunning = "RUNNING"
 20052  
 20053  	// StreamProcessorStatusFailed is a StreamProcessorStatus enum value
 20054  	StreamProcessorStatusFailed = "FAILED"
 20055  
 20056  	// StreamProcessorStatusStopping is a StreamProcessorStatus enum value
 20057  	StreamProcessorStatusStopping = "STOPPING"
 20058  )
 20059  
 20060  // StreamProcessorStatus_Values returns all elements of the StreamProcessorStatus enum
 20061  func StreamProcessorStatus_Values() []string {
 20062  	return []string{
 20063  		StreamProcessorStatusStopped,
 20064  		StreamProcessorStatusStarting,
 20065  		StreamProcessorStatusRunning,
 20066  		StreamProcessorStatusFailed,
 20067  		StreamProcessorStatusStopping,
 20068  	}
 20069  }
 20070  
 20071  const (
 20072  	// TechnicalCueTypeColorBars is a TechnicalCueType enum value
 20073  	TechnicalCueTypeColorBars = "ColorBars"
 20074  
 20075  	// TechnicalCueTypeEndCredits is a TechnicalCueType enum value
 20076  	TechnicalCueTypeEndCredits = "EndCredits"
 20077  
 20078  	// TechnicalCueTypeBlackFrames is a TechnicalCueType enum value
 20079  	TechnicalCueTypeBlackFrames = "BlackFrames"
 20080  
 20081  	// TechnicalCueTypeOpeningCredits is a TechnicalCueType enum value
 20082  	TechnicalCueTypeOpeningCredits = "OpeningCredits"
 20083  
 20084  	// TechnicalCueTypeStudioLogo is a TechnicalCueType enum value
 20085  	TechnicalCueTypeStudioLogo = "StudioLogo"
 20086  
 20087  	// TechnicalCueTypeSlate is a TechnicalCueType enum value
 20088  	TechnicalCueTypeSlate = "Slate"
 20089  
 20090  	// TechnicalCueTypeContent is a TechnicalCueType enum value
 20091  	TechnicalCueTypeContent = "Content"
 20092  )
 20093  
 20094  // TechnicalCueType_Values returns all elements of the TechnicalCueType enum
 20095  func TechnicalCueType_Values() []string {
 20096  	return []string{
 20097  		TechnicalCueTypeColorBars,
 20098  		TechnicalCueTypeEndCredits,
 20099  		TechnicalCueTypeBlackFrames,
 20100  		TechnicalCueTypeOpeningCredits,
 20101  		TechnicalCueTypeStudioLogo,
 20102  		TechnicalCueTypeSlate,
 20103  		TechnicalCueTypeContent,
 20104  	}
 20105  }
 20106  
 20107  const (
 20108  	// TextTypesLine is a TextTypes enum value
 20109  	TextTypesLine = "LINE"
 20110  
 20111  	// TextTypesWord is a TextTypes enum value
 20112  	TextTypesWord = "WORD"
 20113  )
 20114  
 20115  // TextTypes_Values returns all elements of the TextTypes enum
 20116  func TextTypes_Values() []string {
 20117  	return []string{
 20118  		TextTypesLine,
 20119  		TextTypesWord,
 20120  	}
 20121  }
 20122  
 20123  const (
 20124  	// VideoColorRangeFull is a VideoColorRange enum value
 20125  	VideoColorRangeFull = "FULL"
 20126  
 20127  	// VideoColorRangeLimited is a VideoColorRange enum value
 20128  	VideoColorRangeLimited = "LIMITED"
 20129  )
 20130  
 20131  // VideoColorRange_Values returns all elements of the VideoColorRange enum
 20132  func VideoColorRange_Values() []string {
 20133  	return []string{
 20134  		VideoColorRangeFull,
 20135  		VideoColorRangeLimited,
 20136  	}
 20137  }
 20138  
 20139  const (
 20140  	// VideoJobStatusInProgress is a VideoJobStatus enum value
 20141  	VideoJobStatusInProgress = "IN_PROGRESS"
 20142  
 20143  	// VideoJobStatusSucceeded is a VideoJobStatus enum value
 20144  	VideoJobStatusSucceeded = "SUCCEEDED"
 20145  
 20146  	// VideoJobStatusFailed is a VideoJobStatus enum value
 20147  	VideoJobStatusFailed = "FAILED"
 20148  )
 20149  
 20150  // VideoJobStatus_Values returns all elements of the VideoJobStatus enum
 20151  func VideoJobStatus_Values() []string {
 20152  	return []string{
 20153  		VideoJobStatusInProgress,
 20154  		VideoJobStatusSucceeded,
 20155  		VideoJobStatusFailed,
 20156  	}
 20157  }