tile38/vendor/github.com/aws/aws-sdk-go/service/textract/api.go

2208 lines
78 KiB
Go
Raw Permalink Normal View History

2019-03-11 19:18:55 +03:00
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package textract
import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
)
const opAnalyzeDocument = "AnalyzeDocument"
// AnalyzeDocumentRequest generates a "aws/request.Request" representing the
// client's request for the AnalyzeDocument operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See AnalyzeDocument for more information on using the AnalyzeDocument
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the AnalyzeDocumentRequest method.
// req, resp := client.AnalyzeDocumentRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/AnalyzeDocument
func (c *Textract) AnalyzeDocumentRequest(input *AnalyzeDocumentInput) (req *request.Request, output *AnalyzeDocumentOutput) {
op := &request.Operation{
Name: opAnalyzeDocument,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &AnalyzeDocumentInput{}
}
output = &AnalyzeDocumentOutput{}
req = c.newRequest(op, input, output)
return
}
// AnalyzeDocument API operation for Amazon Textract.
//
// Analyzes an input document for relationships in the detected text and tables.
//
// Two types of information are returned:
//
// * Words and lines that are related to nearby lines and words. The related
// information is returned in two Block objects: a KEY Block object and a
// VALUE Block object. For example, Name: Ana Silva Carolina contains a key
// and value. Name: is the key. Ana Silva Carolina is the value.
//
// * Table and table cell data. A TABLE Block contains information about
// a detected table. A CELL block is returned for each cell in a table.
//
// You can choose which type of analysis to perform by specifying the FeatureTypes
// list.
//
// The output is returned in a list of BLOCK objects (Blocks). For more information,
// see how-it-works-analyzing.
//
// AnalyzeDocument is a synchronous operation. To analyze documents asynchronously,
// use StartDocumentAnalysis.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Textract's
// API operation AnalyzeDocument for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidParameterException "InvalidParameterException"
// An input parameter violated a constraint. For example, in synchronous operations,
// an InvalidParameterException exception occurs when neither of the S3Object
// or Bytes values are supplied in the Document request parameter. Validate
// your parameter before calling the API operation again.
//
// * ErrCodeInvalidS3ObjectException "InvalidS3ObjectException"
// Amazon Textract is unable to access the S3 object that's specified in the
// request.
//
// * ErrCodeUnsupportedDocumentException "UnsupportedDocumentException"
// The format of the input document isn't supported. Amazon Textract supports
// documents that are .png or .jpg format.
//
// * ErrCodeDocumentTooLargeException "DocumentTooLargeException"
// The document can't be processed because it's too large. The maximum document
// size for synchronous operations 5 MB. The maximum document size for asynchronous
// operations is 500 MB for PDF format files.
//
// * ErrCodeBadDocumentException "BadDocumentException"
// Amazon Textract isn't able to read the document.
//
// * ErrCodeAccessDeniedException "AccessDeniedException"
// You aren't authorized to perform the action.
//
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
// The number of requests exceeded your throughput limit. If you want to increase
// this limit, contact Amazon Textract.
//
// * ErrCodeInternalServerError "InternalServerError"
// Amazon Textract experienced a service issue. Try your call again.
//
// * ErrCodeThrottlingException "ThrottlingException"
// Amazon Textract is temporarily unable to process the request. Try your call
// again.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/AnalyzeDocument
func (c *Textract) AnalyzeDocument(input *AnalyzeDocumentInput) (*AnalyzeDocumentOutput, error) {
req, out := c.AnalyzeDocumentRequest(input)
return out, req.Send()
}
// AnalyzeDocumentWithContext is the same as AnalyzeDocument with the addition of
// the ability to pass a context and additional request options.
//
// See AnalyzeDocument for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Textract) AnalyzeDocumentWithContext(ctx aws.Context, input *AnalyzeDocumentInput, opts ...request.Option) (*AnalyzeDocumentOutput, error) {
req, out := c.AnalyzeDocumentRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDetectDocumentText = "DetectDocumentText"
// DetectDocumentTextRequest generates a "aws/request.Request" representing the
// client's request for the DetectDocumentText operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DetectDocumentText for more information on using the DetectDocumentText
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the DetectDocumentTextRequest method.
// req, resp := client.DetectDocumentTextRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/DetectDocumentText
func (c *Textract) DetectDocumentTextRequest(input *DetectDocumentTextInput) (req *request.Request, output *DetectDocumentTextOutput) {
op := &request.Operation{
Name: opDetectDocumentText,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DetectDocumentTextInput{}
}
output = &DetectDocumentTextOutput{}
req = c.newRequest(op, input, output)
return
}
// DetectDocumentText API operation for Amazon Textract.
//
// Detects text in the input document. Amazon Textract can detect lines of text
// and the words that make up a line of text. The input document must be an
// image in JPG or PNG format. DetectDocumentText returns the detected text
// in an array of Block objects. For more information, see how-it-works-detecting.
//
// DetectDocumentText is a synchronous operation. To analyze documents asynchronously,
// use StartDocumentTextDetection.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Textract's
// API operation DetectDocumentText for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidParameterException "InvalidParameterException"
// An input parameter violated a constraint. For example, in synchronous operations,
// an InvalidParameterException exception occurs when neither of the S3Object
// or Bytes values are supplied in the Document request parameter. Validate
// your parameter before calling the API operation again.
//
// * ErrCodeInvalidS3ObjectException "InvalidS3ObjectException"
// Amazon Textract is unable to access the S3 object that's specified in the
// request.
//
// * ErrCodeUnsupportedDocumentException "UnsupportedDocumentException"
// The format of the input document isn't supported. Amazon Textract supports
// documents that are .png or .jpg format.
//
// * ErrCodeDocumentTooLargeException "DocumentTooLargeException"
// The document can't be processed because it's too large. The maximum document
// size for synchronous operations 5 MB. The maximum document size for asynchronous
// operations is 500 MB for PDF format files.
//
// * ErrCodeBadDocumentException "BadDocumentException"
// Amazon Textract isn't able to read the document.
//
// * ErrCodeAccessDeniedException "AccessDeniedException"
// You aren't authorized to perform the action.
//
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
// The number of requests exceeded your throughput limit. If you want to increase
// this limit, contact Amazon Textract.
//
// * ErrCodeInternalServerError "InternalServerError"
// Amazon Textract experienced a service issue. Try your call again.
//
// * ErrCodeThrottlingException "ThrottlingException"
// Amazon Textract is temporarily unable to process the request. Try your call
// again.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/DetectDocumentText
func (c *Textract) DetectDocumentText(input *DetectDocumentTextInput) (*DetectDocumentTextOutput, error) {
req, out := c.DetectDocumentTextRequest(input)
return out, req.Send()
}
// DetectDocumentTextWithContext is the same as DetectDocumentText with the addition of
// the ability to pass a context and additional request options.
//
// See DetectDocumentText for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Textract) DetectDocumentTextWithContext(ctx aws.Context, input *DetectDocumentTextInput, opts ...request.Option) (*DetectDocumentTextOutput, error) {
req, out := c.DetectDocumentTextRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetDocumentAnalysis = "GetDocumentAnalysis"
// GetDocumentAnalysisRequest generates a "aws/request.Request" representing the
// client's request for the GetDocumentAnalysis operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See GetDocumentAnalysis for more information on using the GetDocumentAnalysis
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the GetDocumentAnalysisRequest method.
// req, resp := client.GetDocumentAnalysisRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/GetDocumentAnalysis
func (c *Textract) GetDocumentAnalysisRequest(input *GetDocumentAnalysisInput) (req *request.Request, output *GetDocumentAnalysisOutput) {
op := &request.Operation{
Name: opGetDocumentAnalysis,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetDocumentAnalysisInput{}
}
output = &GetDocumentAnalysisOutput{}
req = c.newRequest(op, input, output)
return
}
// GetDocumentAnalysis API operation for Amazon Textract.
//
// Gets the results for an Amazon Textract asynchronous operation that analyzes
// text in a document image.
//
// You start asynchronous text analysis by calling StartDocumentAnalysis, which
// returns a job identifier (JobId). When the text analysis operation finishes,
// Amazon Textract publishes a completion status to the Amazon Simple Notification
// Service (Amazon SNS) topic that's registered in the initial call to StartDocumentAnalysis.
// To get the results of the text-detection operation, first check that the
// status value published to the Amazon SNS topic is SUCCEEDED. If so, call
// GetDocumentAnalysis, and pass the job identifier (JobId) from the initial
// call to StartDocumentAnalysis.
//
// GetDocumentAnalysis returns an array of Block objects. For more information,
// see how-it-works-analyzing.
//
// Use the MaxResults parameter to limit the number of blocks returned. If there
// are more results than specified in MaxResults, the value of NextToken in
// the operation response contains a pagination token for getting the next set
// of results. To get the next page of results, call GetDocumentAnalysis, and
// populate the NextToken request parameter with the token value that's returned
// from the previous call to GetDocumentAnalysis.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Textract's
// API operation GetDocumentAnalysis for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidParameterException "InvalidParameterException"
// An input parameter violated a constraint. For example, in synchronous operations,
// an InvalidParameterException exception occurs when neither of the S3Object
// or Bytes values are supplied in the Document request parameter. Validate
// your parameter before calling the API operation again.
//
// * ErrCodeAccessDeniedException "AccessDeniedException"
// You aren't authorized to perform the action.
//
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
// The number of requests exceeded your throughput limit. If you want to increase
// this limit, contact Amazon Textract.
//
// * ErrCodeInvalidJobIdException "InvalidJobIdException"
// An invalid job identifier was passed to GetDocumentAnalysis or to GetDocumentAnalysis.
//
// * ErrCodeInternalServerError "InternalServerError"
// Amazon Textract experienced a service issue. Try your call again.
//
// * ErrCodeThrottlingException "ThrottlingException"
// Amazon Textract is temporarily unable to process the request. Try your call
// again.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/GetDocumentAnalysis
func (c *Textract) GetDocumentAnalysis(input *GetDocumentAnalysisInput) (*GetDocumentAnalysisOutput, error) {
req, out := c.GetDocumentAnalysisRequest(input)
return out, req.Send()
}
// GetDocumentAnalysisWithContext is the same as GetDocumentAnalysis with the addition of
// the ability to pass a context and additional request options.
//
// See GetDocumentAnalysis for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Textract) GetDocumentAnalysisWithContext(ctx aws.Context, input *GetDocumentAnalysisInput, opts ...request.Option) (*GetDocumentAnalysisOutput, error) {
req, out := c.GetDocumentAnalysisRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetDocumentTextDetection = "GetDocumentTextDetection"
// GetDocumentTextDetectionRequest generates a "aws/request.Request" representing the
// client's request for the GetDocumentTextDetection operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See GetDocumentTextDetection for more information on using the GetDocumentTextDetection
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the GetDocumentTextDetectionRequest method.
// req, resp := client.GetDocumentTextDetectionRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/GetDocumentTextDetection
func (c *Textract) GetDocumentTextDetectionRequest(input *GetDocumentTextDetectionInput) (req *request.Request, output *GetDocumentTextDetectionOutput) {
op := &request.Operation{
Name: opGetDocumentTextDetection,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetDocumentTextDetectionInput{}
}
output = &GetDocumentTextDetectionOutput{}
req = c.newRequest(op, input, output)
return
}
// GetDocumentTextDetection API operation for Amazon Textract.
//
// Gets the results for an Amazon Textract asynchronous operation that detects
// text in a document image. Amazon Textract can detect lines of text and the
// words that make up a line of text.
//
// You start asynchronous text detection by calling StartDocumentTextDetection,
// which returns a job identifier (JobId). When the text detection operation
// finishes, Amazon Textract publishes a completion status to the Amazon Simple
// Notification Service (Amazon SNS) topic that's registered in the initial
// call to StartDocumentTextDetection. To get the results of the text-detection
// operation, first check that the status value published to the Amazon SNS
// topic is SUCCEEDED. If so, call GetDocumentTextDetection, and pass the job
// identifier (JobId) from the initial call to StartDocumentTextDetection.
//
// GetDocumentTextDetection returns an array of Block objects. For more information,
// see how-it-works-detecting.
//
// Use the MaxResults parameter to limit the number of blocks that are returned.
// If there are more results than specified in MaxResults, the value of NextToken
// in the operation response contains a pagination token for getting the next
// set of results. To get the next page of results, call GetDocumentTextDetection,
// and populate the NextToken request parameter with the token value that's
// returned from the previous call to GetDocumentTextDetection.
//
// For more information, see Document Text Detection in the Amazon Textract
// Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Textract's
// API operation GetDocumentTextDetection for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidParameterException "InvalidParameterException"
// An input parameter violated a constraint. For example, in synchronous operations,
// an InvalidParameterException exception occurs when neither of the S3Object
// or Bytes values are supplied in the Document request parameter. Validate
// your parameter before calling the API operation again.
//
// * ErrCodeAccessDeniedException "AccessDeniedException"
// You aren't authorized to perform the action.
//
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
// The number of requests exceeded your throughput limit. If you want to increase
// this limit, contact Amazon Textract.
//
// * ErrCodeInvalidJobIdException "InvalidJobIdException"
// An invalid job identifier was passed to GetDocumentAnalysis or to GetDocumentAnalysis.
//
// * ErrCodeInternalServerError "InternalServerError"
// Amazon Textract experienced a service issue. Try your call again.
//
// * ErrCodeThrottlingException "ThrottlingException"
// Amazon Textract is temporarily unable to process the request. Try your call
// again.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/GetDocumentTextDetection
func (c *Textract) GetDocumentTextDetection(input *GetDocumentTextDetectionInput) (*GetDocumentTextDetectionOutput, error) {
req, out := c.GetDocumentTextDetectionRequest(input)
return out, req.Send()
}
// GetDocumentTextDetectionWithContext is the same as GetDocumentTextDetection with the addition of
// the ability to pass a context and additional request options.
//
// See GetDocumentTextDetection for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Textract) GetDocumentTextDetectionWithContext(ctx aws.Context, input *GetDocumentTextDetectionInput, opts ...request.Option) (*GetDocumentTextDetectionOutput, error) {
req, out := c.GetDocumentTextDetectionRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opStartDocumentAnalysis = "StartDocumentAnalysis"
// StartDocumentAnalysisRequest generates a "aws/request.Request" representing the
// client's request for the StartDocumentAnalysis operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See StartDocumentAnalysis for more information on using the StartDocumentAnalysis
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the StartDocumentAnalysisRequest method.
// req, resp := client.StartDocumentAnalysisRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/StartDocumentAnalysis
func (c *Textract) StartDocumentAnalysisRequest(input *StartDocumentAnalysisInput) (req *request.Request, output *StartDocumentAnalysisOutput) {
op := &request.Operation{
Name: opStartDocumentAnalysis,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &StartDocumentAnalysisInput{}
}
output = &StartDocumentAnalysisOutput{}
req = c.newRequest(op, input, output)
return
}
// StartDocumentAnalysis API operation for Amazon Textract.
//
// Starts asynchronous analysis of text for relationships in the text and tables
// that are detected in a document. Amazon Textract returns for two types of
// information:
//
// * Words and lines that are related to nearby lines and words. The related
// information is returned in two Block objects: A KEY Block object and a
// VALUE Block object. For example, Name: Ana Silva Carolina contains a key
// and value. Name: is the key. Ana Silva Carolina is the value.
//
// * Table and table cell data. A TABLE block contains information about
// a detected table. A CELL block is returned for each cell in a table.
//
// Amazon Textract can analyze text in document images and PDF files that are
// stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket
// name and file name of the document image.
//
// StartDocumentAnalysis returns a job identifier (JobId) that you use to get
// the results of the operation. When text analysis is finished, Amazon Textract
// publishes a completion status to the Amazon Simple Notification Service (Amazon
// SNS) topic that you specify in NotificationChannel. To get the results of
// the text analysis operation, first check that the status value published
// to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentAnalysis, and
// pass the job identifier (JobId) from the initial call to StartDocumentAnalysis.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Textract's
// API operation StartDocumentAnalysis for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidParameterException "InvalidParameterException"
// An input parameter violated a constraint. For example, in synchronous operations,
// an InvalidParameterException exception occurs when neither of the S3Object
// or Bytes values are supplied in the Document request parameter. Validate
// your parameter before calling the API operation again.
//
// * ErrCodeInvalidS3ObjectException "InvalidS3ObjectException"
// Amazon Textract is unable to access the S3 object that's specified in the
// request.
//
// * ErrCodeUnsupportedDocumentException "UnsupportedDocumentException"
// The format of the input document isn't supported. Amazon Textract supports
// documents that are .png or .jpg format.
//
// * ErrCodeDocumentTooLargeException "DocumentTooLargeException"
// The document can't be processed because it's too large. The maximum document
// size for synchronous operations 5 MB. The maximum document size for asynchronous
// operations is 500 MB for PDF format files.
//
// * ErrCodeBadDocumentException "BadDocumentException"
// Amazon Textract isn't able to read the document.
//
// * ErrCodeAccessDeniedException "AccessDeniedException"
// You aren't authorized to perform the action.
//
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
// The number of requests exceeded your throughput limit. If you want to increase
// this limit, contact Amazon Textract.
//
// * ErrCodeInternalServerError "InternalServerError"
// Amazon Textract experienced a service issue. Try your call again.
//
// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
// A ClientRequestToken input parameter was reused with an operation, but at
// least one of the other input parameters is different from the previous call
// to the operation.
//
// * ErrCodeThrottlingException "ThrottlingException"
// Amazon Textract is temporarily unable to process the request. Try your call
// again.
//
// * ErrCodeLimitExceededException "LimitExceededException"
// An Amazon Textract service limit was exceeded. For example, if you start
// too many asynchronous jobs concurrently, calls to start operations (StartDocumentTextDetection,
// for example) raise a LimitExceededException exception (HTTP status code:
// 400) until the number of concurrently running jobs is below the Amazon Textract
// service limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/StartDocumentAnalysis
func (c *Textract) StartDocumentAnalysis(input *StartDocumentAnalysisInput) (*StartDocumentAnalysisOutput, error) {
req, out := c.StartDocumentAnalysisRequest(input)
return out, req.Send()
}
// StartDocumentAnalysisWithContext is the same as StartDocumentAnalysis with the addition of
// the ability to pass a context and additional request options.
//
// See StartDocumentAnalysis for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Textract) StartDocumentAnalysisWithContext(ctx aws.Context, input *StartDocumentAnalysisInput, opts ...request.Option) (*StartDocumentAnalysisOutput, error) {
req, out := c.StartDocumentAnalysisRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opStartDocumentTextDetection = "StartDocumentTextDetection"
// StartDocumentTextDetectionRequest generates a "aws/request.Request" representing the
// client's request for the StartDocumentTextDetection operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See StartDocumentTextDetection for more information on using the StartDocumentTextDetection
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the StartDocumentTextDetectionRequest method.
// req, resp := client.StartDocumentTextDetectionRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/StartDocumentTextDetection
func (c *Textract) StartDocumentTextDetectionRequest(input *StartDocumentTextDetectionInput) (req *request.Request, output *StartDocumentTextDetectionOutput) {
op := &request.Operation{
Name: opStartDocumentTextDetection,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &StartDocumentTextDetectionInput{}
}
output = &StartDocumentTextDetectionOutput{}
req = c.newRequest(op, input, output)
return
}
// StartDocumentTextDetection API operation for Amazon Textract.
//
// Starts the asynchronous detection of text in a document. Amazon Textract
// can detect lines of text and the words that make up a line of text.
//
// Amazon Textract can detect text in document images and PDF files that are
// stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket
// name and the file name of the document image.
//
// StartTextDetection returns a job identifier (JobId) that you use to get the
// results of the operation. When text detection is finished, Amazon Textract
// publishes a completion status to the Amazon Simple Notification Service (Amazon
// SNS) topic that you specify in NotificationChannel. To get the results of
// the text detection operation, first check that the status value published
// to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentTextDetection,
// and pass the job identifier (JobId) from the initial call to StartDocumentTextDetection.
//
// For more information, see Document Text Detection in the Amazon Textract
// Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Textract's
// API operation StartDocumentTextDetection for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidParameterException "InvalidParameterException"
// An input parameter violated a constraint. For example, in synchronous operations,
// an InvalidParameterException exception occurs when neither of the S3Object
// or Bytes values are supplied in the Document request parameter. Validate
// your parameter before calling the API operation again.
//
// * ErrCodeInvalidS3ObjectException "InvalidS3ObjectException"
// Amazon Textract is unable to access the S3 object that's specified in the
// request.
//
// * ErrCodeUnsupportedDocumentException "UnsupportedDocumentException"
// The format of the input document isn't supported. Amazon Textract supports
// documents that are .png or .jpg format.
//
// * ErrCodeDocumentTooLargeException "DocumentTooLargeException"
// The document can't be processed because it's too large. The maximum document
// size for synchronous operations 5 MB. The maximum document size for asynchronous
// operations is 500 MB for PDF format files.
//
// * ErrCodeBadDocumentException "BadDocumentException"
// Amazon Textract isn't able to read the document.
//
// * ErrCodeAccessDeniedException "AccessDeniedException"
// You aren't authorized to perform the action.
//
// * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
// The number of requests exceeded your throughput limit. If you want to increase
// this limit, contact Amazon Textract.
//
// * ErrCodeInternalServerError "InternalServerError"
// Amazon Textract experienced a service issue. Try your call again.
//
// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
// A ClientRequestToken input parameter was reused with an operation, but at
// least one of the other input parameters is different from the previous call
// to the operation.
//
// * ErrCodeThrottlingException "ThrottlingException"
// Amazon Textract is temporarily unable to process the request. Try your call
// again.
//
// * ErrCodeLimitExceededException "LimitExceededException"
// An Amazon Textract service limit was exceeded. For example, if you start
// too many asynchronous jobs concurrently, calls to start operations (StartDocumentTextDetection,
// for example) raise a LimitExceededException exception (HTTP status code:
// 400) until the number of concurrently running jobs is below the Amazon Textract
// service limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/textract-2018-06-27/StartDocumentTextDetection
func (c *Textract) StartDocumentTextDetection(input *StartDocumentTextDetectionInput) (*StartDocumentTextDetectionOutput, error) {
req, out := c.StartDocumentTextDetectionRequest(input)
return out, req.Send()
}
// StartDocumentTextDetectionWithContext is the same as StartDocumentTextDetection with the addition of
// the ability to pass a context and additional request options.
//
// See StartDocumentTextDetection for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Textract) StartDocumentTextDetectionWithContext(ctx aws.Context, input *StartDocumentTextDetectionInput, opts ...request.Option) (*StartDocumentTextDetectionOutput, error) {
req, out := c.StartDocumentTextDetectionRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
type AnalyzeDocumentInput struct {
_ struct{} `type:"structure"`
// The input document as base64-encoded bytes or an Amazon S3 object. If you
// use the AWS CLI to call Amazon Textract operations, you can't pass image
// bytes. The document must be an image in JPG or PNG format.
//
// Document is a required field
Document *Document `type:"structure" required:"true"`
// A list of the types of analysis to perform. Add TABLES to the list to return
// information about the tables detected in the input document. Add FORMS to
// return detected fields and the associated text. To perform both types of
// analysis, add TABLES and FORMS to FeatureTypes.
//
// FeatureTypes is a required field
FeatureTypes []*string `type:"list" required:"true"`
}
// String returns the string representation
func (s AnalyzeDocumentInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s AnalyzeDocumentInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *AnalyzeDocumentInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "AnalyzeDocumentInput"}
if s.Document == nil {
invalidParams.Add(request.NewErrParamRequired("Document"))
}
if s.FeatureTypes == nil {
invalidParams.Add(request.NewErrParamRequired("FeatureTypes"))
}
if s.Document != nil {
if err := s.Document.Validate(); err != nil {
invalidParams.AddNested("Document", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetDocument sets the Document field's value.
func (s *AnalyzeDocumentInput) SetDocument(v *Document) *AnalyzeDocumentInput {
s.Document = v
return s
}
// SetFeatureTypes sets the FeatureTypes field's value.
func (s *AnalyzeDocumentInput) SetFeatureTypes(v []*string) *AnalyzeDocumentInput {
s.FeatureTypes = v
return s
}
type AnalyzeDocumentOutput struct {
_ struct{} `type:"structure"`
// The text that's detected and analyzed by AnalyzeDocument.
Blocks []*Block `type:"list"`
// Metadata about the analyzed document. An example is the number of pages.
DocumentMetadata *DocumentMetadata `type:"structure"`
}
// String returns the string representation
func (s AnalyzeDocumentOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s AnalyzeDocumentOutput) GoString() string {
return s.String()
}
// SetBlocks sets the Blocks field's value.
func (s *AnalyzeDocumentOutput) SetBlocks(v []*Block) *AnalyzeDocumentOutput {
s.Blocks = v
return s
}
// SetDocumentMetadata sets the DocumentMetadata field's value.
func (s *AnalyzeDocumentOutput) SetDocumentMetadata(v *DocumentMetadata) *AnalyzeDocumentOutput {
s.DocumentMetadata = v
return s
}
// A Block represents text that's recognized in a document within a group of
// pixels close to each other. The information returned in a Block depends on
// the type of operation. In document-text detection (for example DetectDocumentText),
// you get information about the detected words and lines of text. In text analysis
// (for example AnalyzeDocument), you can get information about the fields and
// tables that are detected in the document.
//
// An array of Block objects is returned by both synchronous and asynchronous
// operations. In synchronous operations, such as DetectDocumentText, the array
// of Block objects is the entire set of results. In asynchronous operations,
// such as GetDocumentAnalysis, the array is returned over one or more responses.
type Block struct {
_ struct{} `type:"structure"`
// The type of text that's recognized in a block. In text-detection operations,
// the following types are returned:
//
// * PAGE - Contains a list of the LINE Block objects that are detected on
// a specific page.
//
// * WORD - One or more ISO basic Latin script characters that aren't separated
// by spaces.
//
// * LINE - A string of equally spaced words.
//
// In text analysis operations, the following types are returned:
//
// * PAGE - Contains a list of child Block objects that are detected on a
// specific page.
//
// * KEY_VALUE_SET - Stores the KEY and VALUE Block objects for a field that's
// detected in a document. Use the EntityType field to determine if a KEY_VALUE_SET
// object is a KEY Block object or a VALUE Block object.
//
// * WORD - One or more ISO basic Latin script characters that aren't separated
// by spaces.
//
// * LINE - A string of tab-delimited, contiguous words.
//
// * TABLE - A table that's detected in the document.
//
// * CELL - A cell within a detected table. The cell is the parent of the
// block that contains the text in the cell.
BlockType *string `type:"string" enum:"BlockType"`
// The column in which a table cell appears. The first column position is 1.
// ColumnIndex isn't returned by DetectDocumentText and GetDocumentTextDetection.
ColumnIndex *int64 `type:"integer"`
// The number of columns that a table cell spans. ColumnSpan isn't returned
// by DetectDocumentText and GetDocumentTextDetection.
ColumnSpan *int64 `type:"integer"`
// The confidence that Amazon Textract has in the accuracy of the recognized
// text and the accuracy of the geometry points around the recognized text.
Confidence *float64 `type:"float"`
// The type of entity. The following can be returned:
//
// * KEY - An identifier for a field on the document.
//
// * VALUE - The field text.
//
// EntityTypes isn't returned by DetectDocumentText and GetDocumentTextDetection.
EntityTypes []*string `type:"list"`
// The location of the recognized text on the image. It includes an axis-aligned,
// coarse bounding box that surrounds the text, and a finer-grain polygon for
// more accurate spatial information.
Geometry *Geometry `type:"structure"`
// The identifier for the recognized text. The identifier is only unique for
// a single operation.
Id *string `type:"string"`
// The page in which a block was detected.
Page *int64 `type:"integer"`
// A list of child blocks of the current block. For example a LINE object has
// child blocks for each WORD block that's part of the line of text. There aren't
// Relationship objects in the list for relationships that don't exist, such
// as when the current block has no child blocks. The list size can be the following:
//
// * 0 - The block has no child blocks.
//
// * 1 - The block has child blocks.
Relationships []*Relationship `type:"list"`
// The row in which a table cell is located. The first row position is 1. RowIndex
// isn't returned by DetectDocumentText and GetDocumentTextDetection.
RowIndex *int64 `type:"integer"`
// The number of rows that a table spans. RowSpan isn't returned by DetectDocumentText
// and GetDocumentTextDetection.
RowSpan *int64 `type:"integer"`
// The word or line of text that's recognized by Amazon Textract.
Text *string `type:"string"`
}
// String returns the string representation
func (s Block) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Block) GoString() string {
return s.String()
}
// SetBlockType sets the BlockType field's value.
func (s *Block) SetBlockType(v string) *Block {
s.BlockType = &v
return s
}
// SetColumnIndex sets the ColumnIndex field's value.
func (s *Block) SetColumnIndex(v int64) *Block {
s.ColumnIndex = &v
return s
}
// SetColumnSpan sets the ColumnSpan field's value.
func (s *Block) SetColumnSpan(v int64) *Block {
s.ColumnSpan = &v
return s
}
// SetConfidence sets the Confidence field's value.
func (s *Block) SetConfidence(v float64) *Block {
s.Confidence = &v
return s
}
// SetEntityTypes sets the EntityTypes field's value.
func (s *Block) SetEntityTypes(v []*string) *Block {
s.EntityTypes = v
return s
}
// SetGeometry sets the Geometry field's value.
func (s *Block) SetGeometry(v *Geometry) *Block {
s.Geometry = v
return s
}
// SetId sets the Id field's value.
func (s *Block) SetId(v string) *Block {
s.Id = &v
return s
}
// SetPage sets the Page field's value.
func (s *Block) SetPage(v int64) *Block {
s.Page = &v
return s
}
// SetRelationships sets the Relationships field's value.
func (s *Block) SetRelationships(v []*Relationship) *Block {
s.Relationships = v
return s
}
// SetRowIndex sets the RowIndex field's value.
func (s *Block) SetRowIndex(v int64) *Block {
s.RowIndex = &v
return s
}
// SetRowSpan sets the RowSpan field's value.
func (s *Block) SetRowSpan(v int64) *Block {
s.RowSpan = &v
return s
}
// SetText sets the Text field's value.
func (s *Block) SetText(v string) *Block {
s.Text = &v
return s
}
// The bounding box around the recognized text, key, value, table or table cell
// on a document page. The left (x-coordinate) and top (y-coordinate) are coordinates
// that represent the top and left sides of the bounding box. Note that the
// upper-left corner of the image is the origin (0,0).
//
// The top and left values returned are ratios of the overall document page
// size. For example, if the input image is 700 x 200 pixels, and the top-left
// coordinate of the bounding box is 350 x 50 pixels, the API returns a left
// value of 0.5 (350/700) and a top value of 0.25 (50/200).
//
// The width and height values represent the dimensions of the bounding box
// as a ratio of the overall document page dimension. For example, if the document
// page size is 700 x 200 pixels, and the bounding box width is 70 pixels, the
// width returned is 0.1.
type BoundingBox struct {
_ struct{} `type:"structure"`
// The height of the bounding box as a ratio of the overall document page height.
Height *float64 `type:"float"`
// The left coordinate of the bounding box as a ratio of overall document page
// width.
Left *float64 `type:"float"`
// The top coordinate of the bounding box as a ratio of overall document page
// height.
Top *float64 `type:"float"`
// The width of the bounding box as a ratio of the overall document page width.
Width *float64 `type:"float"`
}
// String returns the string representation
func (s BoundingBox) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s BoundingBox) GoString() string {
return s.String()
}
// SetHeight sets the Height field's value.
func (s *BoundingBox) SetHeight(v float64) *BoundingBox {
s.Height = &v
return s
}
// SetLeft sets the Left field's value.
func (s *BoundingBox) SetLeft(v float64) *BoundingBox {
s.Left = &v
return s
}
// SetTop sets the Top field's value.
func (s *BoundingBox) SetTop(v float64) *BoundingBox {
s.Top = &v
return s
}
// SetWidth sets the Width field's value.
func (s *BoundingBox) SetWidth(v float64) *BoundingBox {
s.Width = &v
return s
}
type DetectDocumentTextInput struct {
_ struct{} `type:"structure"`
// The input document as base64-encoded bytes or an Amazon S3 object. If you
// use the AWS CLI to call Amazon Textract operations, you can't pass image
// bytes. The document must be an image in JPG or PNG format.
//
// Document is a required field
Document *Document `type:"structure" required:"true"`
}
// String returns the string representation
func (s DetectDocumentTextInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DetectDocumentTextInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DetectDocumentTextInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DetectDocumentTextInput"}
if s.Document == nil {
invalidParams.Add(request.NewErrParamRequired("Document"))
}
if s.Document != nil {
if err := s.Document.Validate(); err != nil {
invalidParams.AddNested("Document", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetDocument sets the Document field's value.
func (s *DetectDocumentTextInput) SetDocument(v *Document) *DetectDocumentTextInput {
s.Document = v
return s
}
type DetectDocumentTextOutput struct {
_ struct{} `type:"structure"`
// An array of Block objects containing the text detected in the document.
Blocks []*Block `type:"list"`
// Metadata about the document. Contains the number of pages that are detected
// in the document.
DocumentMetadata *DocumentMetadata `type:"structure"`
}
// String returns the string representation
func (s DetectDocumentTextOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DetectDocumentTextOutput) GoString() string {
return s.String()
}
// SetBlocks sets the Blocks field's value.
func (s *DetectDocumentTextOutput) SetBlocks(v []*Block) *DetectDocumentTextOutput {
s.Blocks = v
return s
}
// SetDocumentMetadata sets the DocumentMetadata field's value.
func (s *DetectDocumentTextOutput) SetDocumentMetadata(v *DocumentMetadata) *DetectDocumentTextOutput {
s.DocumentMetadata = v
return s
}
// The input document, either as bytes or as an S3 object.
//
// You pass image bytes to an Amazon Textract API operation by using the Bytes
// property. For example, you would use the Bytes property to pass a document
// loaded from a local file system. Image bytes passed by using the Bytes property
// must be base64 encoded. Your code might not need to encode document file
// bytes if you're using an AWS SDK to call Amazon Textract API operations.
//
// You pass images stored in an S3 bucket to an Amazon Textract API operation
// by using the S3Object property. Documents stored in an S3 bucket don't need
// to be base64 encoded.
//
// The AWS Region for the S3 bucket that contains the S3 object must match the
// Region that you use for Amazon Textract operations.
//
// If you use the AWS CLI to call Amazon Textract operations, passing image
// bytes using the Bytes property isn't supported. You must first upload the
// document to an Amazon S3 bucket, and then call the operation using the S3Object
// property.
//
// For Amazon Textract to process an S3 object, the user must have permission
// to access the S3 object.
type Document struct {
_ struct{} `type:"structure"`
// A blob of documents bytes. The maximum size of a document that's provided
// in a blob of bytes is 5 MB.
//
// Bytes is automatically base64 encoded/decoded by the SDK.
Bytes []byte `min:"1" type:"blob"`
// Identifies an S3 object as the document source. The maximum size of a document
// stored in an S3 bucket is 5 MB.
S3Object *S3Object `type:"structure"`
}
// String returns the string representation
func (s Document) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Document) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *Document) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "Document"}
if s.Bytes != nil && len(s.Bytes) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Bytes", 1))
}
if s.S3Object != nil {
if err := s.S3Object.Validate(); err != nil {
invalidParams.AddNested("S3Object", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetBytes sets the Bytes field's value.
func (s *Document) SetBytes(v []byte) *Document {
s.Bytes = v
return s
}
// SetS3Object sets the S3Object field's value.
func (s *Document) SetS3Object(v *S3Object) *Document {
s.S3Object = v
return s
}
// The Amazon S3 bucket that contains the document to be processed. It's used
// by asynchronous operations such as StartDocumentTextDetection.
//
// The input document can be an image file in JPG or PNG format. It can also
// be a file in PDF format.
type DocumentLocation struct {
_ struct{} `type:"structure"`
// The Amazon S3 bucket that contains the input document.
S3Object *S3Object `type:"structure"`
}
// String returns the string representation
func (s DocumentLocation) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DocumentLocation) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DocumentLocation) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DocumentLocation"}
if s.S3Object != nil {
if err := s.S3Object.Validate(); err != nil {
invalidParams.AddNested("S3Object", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetS3Object sets the S3Object field's value.
func (s *DocumentLocation) SetS3Object(v *S3Object) *DocumentLocation {
s.S3Object = v
return s
}
// Information about the input document.
type DocumentMetadata struct {
_ struct{} `type:"structure"`
// The number of pages detected in the document.
Pages *int64 `type:"integer"`
}
// String returns the string representation
func (s DocumentMetadata) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DocumentMetadata) GoString() string {
return s.String()
}
// SetPages sets the Pages field's value.
func (s *DocumentMetadata) SetPages(v int64) *DocumentMetadata {
s.Pages = &v
return s
}
// Information about where a recognized text, key, value, table, or table cell
// is located on a document page.
type Geometry struct {
_ struct{} `type:"structure"`
// An axis-aligned coarse representation of the location of the recognized text
// on the document page.
BoundingBox *BoundingBox `type:"structure"`
// Within the bounding box, a fine-grained polygon around the recognized text.
Polygon []*Point `type:"list"`
}
// String returns the string representation
func (s Geometry) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Geometry) GoString() string {
return s.String()
}
// SetBoundingBox sets the BoundingBox field's value.
func (s *Geometry) SetBoundingBox(v *BoundingBox) *Geometry {
s.BoundingBox = v
return s
}
// SetPolygon sets the Polygon field's value.
func (s *Geometry) SetPolygon(v []*Point) *Geometry {
s.Polygon = v
return s
}
type GetDocumentAnalysisInput struct {
_ struct{} `type:"structure"`
// A unique identifier for the text-detection job. The JobId is returned from
// StartDocumentAnalysis.
//
// JobId is a required field
JobId *string `min:"1" type:"string" required:"true"`
// The maximum number of results to return per paginated call. The largest value
// that you can specify is 1,000. If you specify a value greater than 1,000,
// a maximum of 1,000 results is returned. The default value is 1,000.
MaxResults *int64 `min:"1" type:"integer"`
// If the previous response was incomplete (because there are more blocks to
// retrieve), Amazon Textract returns a pagination token in the response. You
// can use this pagination token to retrieve the next set of blocks.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation
func (s GetDocumentAnalysisInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetDocumentAnalysisInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetDocumentAnalysisInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetDocumentAnalysisInput"}
if s.JobId == nil {
invalidParams.Add(request.NewErrParamRequired("JobId"))
}
if s.JobId != nil && len(*s.JobId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if s.NextToken != nil && len(*s.NextToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetJobId sets the JobId field's value.
func (s *GetDocumentAnalysisInput) SetJobId(v string) *GetDocumentAnalysisInput {
s.JobId = &v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *GetDocumentAnalysisInput) SetMaxResults(v int64) *GetDocumentAnalysisInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetDocumentAnalysisInput) SetNextToken(v string) *GetDocumentAnalysisInput {
s.NextToken = &v
return s
}
type GetDocumentAnalysisOutput struct {
_ struct{} `type:"structure"`
// The results of the text analysis operation.
Blocks []*Block `type:"list"`
// Information about a document that Amazon Textract processed. DocumentMetadata
// is returned in every page of paginated responses from an Amazon Textract
// video operation.
DocumentMetadata *DocumentMetadata `type:"structure"`
// The current status of the text detection job.
JobStatus *string `type:"string" enum:"JobStatus"`
// If the response is truncated, Amazon Textract returns this token. You can
// use this token in the subsequent request to retrieve the next set of text
// detection results.
NextToken *string `min:"1" type:"string"`
// The current status of an asynchronous document analysis operation.
StatusMessage *string `type:"string"`
// A list of warnings that occurred during the document analysis operation.
Warnings []*Warning `type:"list"`
}
// String returns the string representation
func (s GetDocumentAnalysisOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetDocumentAnalysisOutput) GoString() string {
return s.String()
}
// SetBlocks sets the Blocks field's value.
func (s *GetDocumentAnalysisOutput) SetBlocks(v []*Block) *GetDocumentAnalysisOutput {
s.Blocks = v
return s
}
// SetDocumentMetadata sets the DocumentMetadata field's value.
func (s *GetDocumentAnalysisOutput) SetDocumentMetadata(v *DocumentMetadata) *GetDocumentAnalysisOutput {
s.DocumentMetadata = v
return s
}
// SetJobStatus sets the JobStatus field's value.
func (s *GetDocumentAnalysisOutput) SetJobStatus(v string) *GetDocumentAnalysisOutput {
s.JobStatus = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetDocumentAnalysisOutput) SetNextToken(v string) *GetDocumentAnalysisOutput {
s.NextToken = &v
return s
}
// SetStatusMessage sets the StatusMessage field's value.
func (s *GetDocumentAnalysisOutput) SetStatusMessage(v string) *GetDocumentAnalysisOutput {
s.StatusMessage = &v
return s
}
// SetWarnings sets the Warnings field's value.
func (s *GetDocumentAnalysisOutput) SetWarnings(v []*Warning) *GetDocumentAnalysisOutput {
s.Warnings = v
return s
}
type GetDocumentTextDetectionInput struct {
_ struct{} `type:"structure"`
// A unique identifier for the text detection job. The JobId is returned from
// StartDocumentTextDetection.
//
// JobId is a required field
JobId *string `min:"1" type:"string" required:"true"`
// The maximum number of results to return per paginated call. The largest value
// you can specify is 1,000. If you specify a value greater than 1,000, a maximum
// of 1,000 results is returned. The default value is 1,000.
MaxResults *int64 `min:"1" type:"integer"`
// If the previous response was incomplete (because there are more blocks to
// retrieve), Amazon Textract returns a pagination token in the response. You
// can use this pagination token to retrieve the next set of blocks.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation
func (s GetDocumentTextDetectionInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetDocumentTextDetectionInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetDocumentTextDetectionInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetDocumentTextDetectionInput"}
if s.JobId == nil {
invalidParams.Add(request.NewErrParamRequired("JobId"))
}
if s.JobId != nil && len(*s.JobId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if s.NextToken != nil && len(*s.NextToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetJobId sets the JobId field's value.
func (s *GetDocumentTextDetectionInput) SetJobId(v string) *GetDocumentTextDetectionInput {
s.JobId = &v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *GetDocumentTextDetectionInput) SetMaxResults(v int64) *GetDocumentTextDetectionInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetDocumentTextDetectionInput) SetNextToken(v string) *GetDocumentTextDetectionInput {
s.NextToken = &v
return s
}
type GetDocumentTextDetectionOutput struct {
_ struct{} `type:"structure"`
// The results of the text-detection operation.
Blocks []*Block `type:"list"`
// Information about a document that Amazon Textract processed. DocumentMetadata
// is returned in every page of paginated responses from an Amazon Textract
// video operation.
DocumentMetadata *DocumentMetadata `type:"structure"`
// The current status of the text detection job.
JobStatus *string `type:"string" enum:"JobStatus"`
// If the response is truncated, Amazon Textract returns this token. You can
// use this token in the subsequent request to retrieve the next set of text-detection
// results.
NextToken *string `min:"1" type:"string"`
// The current status of an asynchronous document text-detection operation.
StatusMessage *string `type:"string"`
// A list of warnings that occurred during the document text-detection operation.
Warnings []*Warning `type:"list"`
}
// String returns the string representation
func (s GetDocumentTextDetectionOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetDocumentTextDetectionOutput) GoString() string {
return s.String()
}
// SetBlocks sets the Blocks field's value.
func (s *GetDocumentTextDetectionOutput) SetBlocks(v []*Block) *GetDocumentTextDetectionOutput {
s.Blocks = v
return s
}
// SetDocumentMetadata sets the DocumentMetadata field's value.
func (s *GetDocumentTextDetectionOutput) SetDocumentMetadata(v *DocumentMetadata) *GetDocumentTextDetectionOutput {
s.DocumentMetadata = v
return s
}
// SetJobStatus sets the JobStatus field's value.
func (s *GetDocumentTextDetectionOutput) SetJobStatus(v string) *GetDocumentTextDetectionOutput {
s.JobStatus = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *GetDocumentTextDetectionOutput) SetNextToken(v string) *GetDocumentTextDetectionOutput {
s.NextToken = &v
return s
}
// SetStatusMessage sets the StatusMessage field's value.
func (s *GetDocumentTextDetectionOutput) SetStatusMessage(v string) *GetDocumentTextDetectionOutput {
s.StatusMessage = &v
return s
}
// SetWarnings sets the Warnings field's value.
func (s *GetDocumentTextDetectionOutput) SetWarnings(v []*Warning) *GetDocumentTextDetectionOutput {
s.Warnings = v
return s
}
// The Amazon Simple Notification Service (Amazon SNS) topic to which Amazon
// Textract publishes the completion status of an asynchronous document operation,
// such as StartDocumentTextDetection.
type NotificationChannel struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of an IAM role that gives Amazon Textract
// publishing permissions to the Amazon SNS topic.
//
// RoleArn is a required field
RoleArn *string `min:"20" type:"string" required:"true"`
// The Amazon SNS topic that Amazon Textract posts the completion status to.
//
// SNSTopicArn is a required field
SNSTopicArn *string `min:"20" type:"string" required:"true"`
}
// String returns the string representation
func (s NotificationChannel) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s NotificationChannel) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *NotificationChannel) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "NotificationChannel"}
if s.RoleArn == nil {
invalidParams.Add(request.NewErrParamRequired("RoleArn"))
}
if s.RoleArn != nil && len(*s.RoleArn) < 20 {
invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
}
if s.SNSTopicArn == nil {
invalidParams.Add(request.NewErrParamRequired("SNSTopicArn"))
}
if s.SNSTopicArn != nil && len(*s.SNSTopicArn) < 20 {
invalidParams.Add(request.NewErrParamMinLen("SNSTopicArn", 20))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetRoleArn sets the RoleArn field's value.
func (s *NotificationChannel) SetRoleArn(v string) *NotificationChannel {
s.RoleArn = &v
return s
}
// SetSNSTopicArn sets the SNSTopicArn field's value.
func (s *NotificationChannel) SetSNSTopicArn(v string) *NotificationChannel {
s.SNSTopicArn = &v
return s
}
// The X and Y coordinates of a point on a document page. The X and Y values
// returned are ratios of the overall document page size. For example, if the
// input document is 700 x 200 and the operation returns X=0.5 and Y=0.25, then
// the point is at the (350,50) pixel coordinate on the document page.
//
// An array of Point objects, Polygon, is returned by DetectDocumentText. Polygon
// represents a fine-grained polygon around detected text. For more information,
// see Geometry in the Amazon Textract Developer Guide.
type Point struct {
_ struct{} `type:"structure"`
// The value of the X coordinate for a point on a Polygon.
X *float64 `type:"float"`
// The value of the Y coordinate for a point on a Polygon.
Y *float64 `type:"float"`
}
// String returns the string representation
func (s Point) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Point) GoString() string {
return s.String()
}
// SetX sets the X field's value.
func (s *Point) SetX(v float64) *Point {
s.X = &v
return s
}
// SetY sets the Y field's value.
func (s *Point) SetY(v float64) *Point {
s.Y = &v
return s
}
// Information about how blocks are related to each other. A Block object contains
// 0 or more Relation objects in a list, Relationships. For more information,
// see Block.
//
// The Type element provides the type of the relationship for all blocks in
// the IDs array.
type Relationship struct {
_ struct{} `type:"structure"`
// An array of IDs for related blocks. You can get the type of the relationship
// from the Type element.
Ids []*string `type:"list"`
// The type of relationship that the blocks in the IDs array have with the current
// block. The relationship can be VALUE or CHILD.
Type *string `type:"string" enum:"RelationshipType"`
}
// String returns the string representation
func (s Relationship) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Relationship) GoString() string {
return s.String()
}
// SetIds sets the Ids field's value.
func (s *Relationship) SetIds(v []*string) *Relationship {
s.Ids = v
return s
}
// SetType sets the Type field's value.
func (s *Relationship) SetType(v string) *Relationship {
s.Type = &v
return s
}
// The S3 bucket name and file name that identifies the document.
//
// The AWS Region for the S3 bucket that contains the document must match the
// Region that you use for Amazon Textract operations.
//
// For Amazon Textract to process a file in an S3 bucket, the user must have
// permission to access the S3 bucket and file.
type S3Object struct {
_ struct{} `type:"structure"`
// The name of the S3 bucket.
Bucket *string `min:"3" type:"string"`
// The file name of the input document. It must be an image file (.JPG or .PNG
// format). Asynchronous operations also support PDF files.
Name *string `min:"1" type:"string"`
// If the bucket has versioning enabled, you can specify the object version.
Version *string `min:"1" type:"string"`
}
// String returns the string representation
func (s S3Object) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s S3Object) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *S3Object) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "S3Object"}
if s.Bucket != nil && len(*s.Bucket) < 3 {
invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
if s.Version != nil && len(*s.Version) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Version", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetBucket sets the Bucket field's value.
func (s *S3Object) SetBucket(v string) *S3Object {
s.Bucket = &v
return s
}
// SetName sets the Name field's value.
func (s *S3Object) SetName(v string) *S3Object {
s.Name = &v
return s
}
// SetVersion sets the Version field's value.
func (s *S3Object) SetVersion(v string) *S3Object {
s.Version = &v
return s
}
type StartDocumentAnalysisInput struct {
_ struct{} `type:"structure"`
// The idempotent token that you use to identify the start request. If you use
// the same token with multiple StartDocumentAnalysis requests, the same JobId
// is returned. Use ClientRequestToken to prevent the same job from being accidentally
// started more than once.
ClientRequestToken *string `min:"1" type:"string"`
// The location of the document to be processed.
//
// DocumentLocation is a required field
DocumentLocation *DocumentLocation `type:"structure" required:"true"`
// A list of the types of analysis to perform. Add TABLES to the list to return
// information about the tables that are detected in the input document. Add
// FORMS to return detected fields and the associated text. To perform both
// types of analysis, add TABLES and FORMS to FeatureTypes.
//
// FeatureTypes is a required field
FeatureTypes []*string `type:"list" required:"true"`
// The unique identifier you specify to identify the job in the completion status
// that's published to the Amazon SNS topic.
JobTag *string `min:"1" type:"string"`
// The Amazon SNS topic ARN that you want Amazon Textract to publish the completion
// status of the operation to.
NotificationChannel *NotificationChannel `type:"structure"`
}
// String returns the string representation
func (s StartDocumentAnalysisInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s StartDocumentAnalysisInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *StartDocumentAnalysisInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "StartDocumentAnalysisInput"}
if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
}
if s.DocumentLocation == nil {
invalidParams.Add(request.NewErrParamRequired("DocumentLocation"))
}
if s.FeatureTypes == nil {
invalidParams.Add(request.NewErrParamRequired("FeatureTypes"))
}
if s.JobTag != nil && len(*s.JobTag) < 1 {
invalidParams.Add(request.NewErrParamMinLen("JobTag", 1))
}
if s.DocumentLocation != nil {
if err := s.DocumentLocation.Validate(); err != nil {
invalidParams.AddNested("DocumentLocation", err.(request.ErrInvalidParams))
}
}
if s.NotificationChannel != nil {
if err := s.NotificationChannel.Validate(); err != nil {
invalidParams.AddNested("NotificationChannel", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetClientRequestToken sets the ClientRequestToken field's value.
func (s *StartDocumentAnalysisInput) SetClientRequestToken(v string) *StartDocumentAnalysisInput {
s.ClientRequestToken = &v
return s
}
// SetDocumentLocation sets the DocumentLocation field's value.
func (s *StartDocumentAnalysisInput) SetDocumentLocation(v *DocumentLocation) *StartDocumentAnalysisInput {
s.DocumentLocation = v
return s
}
// SetFeatureTypes sets the FeatureTypes field's value.
func (s *StartDocumentAnalysisInput) SetFeatureTypes(v []*string) *StartDocumentAnalysisInput {
s.FeatureTypes = v
return s
}
// SetJobTag sets the JobTag field's value.
func (s *StartDocumentAnalysisInput) SetJobTag(v string) *StartDocumentAnalysisInput {
s.JobTag = &v
return s
}
// SetNotificationChannel sets the NotificationChannel field's value.
func (s *StartDocumentAnalysisInput) SetNotificationChannel(v *NotificationChannel) *StartDocumentAnalysisInput {
s.NotificationChannel = v
return s
}
type StartDocumentAnalysisOutput struct {
_ struct{} `type:"structure"`
// The identifier for the document text-detection job. Use JobId to identify
// the job in a subsequent call to GetDocumentAnalysis.
JobId *string `min:"1" type:"string"`
}
// String returns the string representation
func (s StartDocumentAnalysisOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s StartDocumentAnalysisOutput) GoString() string {
return s.String()
}
// SetJobId sets the JobId field's value.
func (s *StartDocumentAnalysisOutput) SetJobId(v string) *StartDocumentAnalysisOutput {
s.JobId = &v
return s
}
type StartDocumentTextDetectionInput struct {
_ struct{} `type:"structure"`
// The idempotent token that's used to identify the start request. If you use
// the same token with multiple StartDocumentTextDetection requests, the same
// JobId is returned. Use ClientRequestToken to prevent the same job from being
// accidentally started more than once.
ClientRequestToken *string `min:"1" type:"string"`
// The location of the document to be processed.
//
// DocumentLocation is a required field
DocumentLocation *DocumentLocation `type:"structure" required:"true"`
// A unique identifier you specify to identify the job in the completion status
// that's published to the Amazon Simple Notification Service (Amazon SNS) topic.
JobTag *string `min:"1" type:"string"`
// The Amazon SNS topic ARN that you want Amazon Textract to publish the completion
// status of the operation to.
NotificationChannel *NotificationChannel `type:"structure"`
}
// String returns the string representation
func (s StartDocumentTextDetectionInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s StartDocumentTextDetectionInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *StartDocumentTextDetectionInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "StartDocumentTextDetectionInput"}
if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
}
if s.DocumentLocation == nil {
invalidParams.Add(request.NewErrParamRequired("DocumentLocation"))
}
if s.JobTag != nil && len(*s.JobTag) < 1 {
invalidParams.Add(request.NewErrParamMinLen("JobTag", 1))
}
if s.DocumentLocation != nil {
if err := s.DocumentLocation.Validate(); err != nil {
invalidParams.AddNested("DocumentLocation", err.(request.ErrInvalidParams))
}
}
if s.NotificationChannel != nil {
if err := s.NotificationChannel.Validate(); err != nil {
invalidParams.AddNested("NotificationChannel", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetClientRequestToken sets the ClientRequestToken field's value.
func (s *StartDocumentTextDetectionInput) SetClientRequestToken(v string) *StartDocumentTextDetectionInput {
s.ClientRequestToken = &v
return s
}
// SetDocumentLocation sets the DocumentLocation field's value.
func (s *StartDocumentTextDetectionInput) SetDocumentLocation(v *DocumentLocation) *StartDocumentTextDetectionInput {
s.DocumentLocation = v
return s
}
// SetJobTag sets the JobTag field's value.
func (s *StartDocumentTextDetectionInput) SetJobTag(v string) *StartDocumentTextDetectionInput {
s.JobTag = &v
return s
}
// SetNotificationChannel sets the NotificationChannel field's value.
func (s *StartDocumentTextDetectionInput) SetNotificationChannel(v *NotificationChannel) *StartDocumentTextDetectionInput {
s.NotificationChannel = v
return s
}
type StartDocumentTextDetectionOutput struct {
_ struct{} `type:"structure"`
// The identifier for the document text-detection job. Use JobId to identify
// the job in a subsequent call to GetDocumentTextDetection.
JobId *string `min:"1" type:"string"`
}
// String returns the string representation
func (s StartDocumentTextDetectionOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s StartDocumentTextDetectionOutput) GoString() string {
return s.String()
}
// SetJobId sets the JobId field's value.
func (s *StartDocumentTextDetectionOutput) SetJobId(v string) *StartDocumentTextDetectionOutput {
s.JobId = &v
return s
}
// A warning about an issue that occurred during asynchronous text analysis
// (StartDocumentAnalysis) or asynchronous document-text detection (StartDocumentTextDetection).
type Warning struct {
_ struct{} `type:"structure"`
// The error code for the warning.
ErrorCode *string `type:"string"`
// A list of the pages that the warning applies to.
Pages []*int64 `type:"list"`
}
// String returns the string representation
func (s Warning) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Warning) GoString() string {
return s.String()
}
// SetErrorCode sets the ErrorCode field's value.
func (s *Warning) SetErrorCode(v string) *Warning {
s.ErrorCode = &v
return s
}
// SetPages sets the Pages field's value.
func (s *Warning) SetPages(v []*int64) *Warning {
s.Pages = v
return s
}
const (
// BlockTypeKeyValueSet is a BlockType enum value
BlockTypeKeyValueSet = "KEY_VALUE_SET"
// BlockTypePage is a BlockType enum value
BlockTypePage = "PAGE"
// BlockTypeLine is a BlockType enum value
BlockTypeLine = "LINE"
// BlockTypeWord is a BlockType enum value
BlockTypeWord = "WORD"
// BlockTypeTable is a BlockType enum value
BlockTypeTable = "TABLE"
// BlockTypeCell is a BlockType enum value
BlockTypeCell = "CELL"
)
const (
// EntityTypeKey is a EntityType enum value
EntityTypeKey = "KEY"
// EntityTypeValue is a EntityType enum value
EntityTypeValue = "VALUE"
)
const (
// FeatureTypeTables is a FeatureType enum value
FeatureTypeTables = "TABLES"
// FeatureTypeForms is a FeatureType enum value
FeatureTypeForms = "FORMS"
)
const (
// JobStatusInProgress is a JobStatus enum value
JobStatusInProgress = "IN_PROGRESS"
// JobStatusSucceeded is a JobStatus enum value
JobStatusSucceeded = "SUCCEEDED"
// JobStatusFailed is a JobStatus enum value
JobStatusFailed = "FAILED"
// JobStatusPartialSuccess is a JobStatus enum value
JobStatusPartialSuccess = "PARTIAL_SUCCESS"
)
const (
// RelationshipTypeValue is a RelationshipType enum value
RelationshipTypeValue = "VALUE"
// RelationshipTypeChild is a RelationshipType enum value
RelationshipTypeChild = "CHILD"
)