/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the textract-2018-06-27.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Textract.Model { /// /// Container for the parameters to the StartDocumentAnalysis operation. /// Starts the asynchronous analysis of an input document for relationships between detected /// items such as key-value pairs, tables, and selection elements. /// /// /// /// StartDocumentAnalysis can analyze text in documents that are in JPEG, /// PNG, TIFF, and PDF format. The documents are stored in an Amazon S3 bucket. Use DocumentLocation /// to specify the bucket name and file name of the document. /// /// /// /// 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. /// /// /// /// For more information, see Document /// Text Analysis. /// /// public partial class StartDocumentAnalysisRequest : AmazonTextractRequest { private string _clientRequestToken; private DocumentLocation _documentLocation; private List _featureTypes = new List(); private string _jobTag; private string _kmsKeyId; private NotificationChannel _notificationChannel; private OutputConfig _outputConfig; private QueriesConfig _queriesConfig; /// /// Gets and sets the property ClientRequestToken. /// /// 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. For more information, see Calling /// Amazon Textract Asynchronous Operations. /// /// [AWSProperty(Min=1, Max=64)] public string ClientRequestToken { get { return this._clientRequestToken; } set { this._clientRequestToken = value; } } // Check to see if ClientRequestToken property is set internal bool IsSetClientRequestToken() { return this._clientRequestToken != null; } /// /// Gets and sets the property DocumentLocation. /// /// The location of the document to be processed. /// /// [AWSProperty(Required=true)] public DocumentLocation DocumentLocation { get { return this._documentLocation; } set { this._documentLocation = value; } } // Check to see if DocumentLocation property is set internal bool IsSetDocumentLocation() { return this._documentLocation != null; } /// /// Gets and sets the property FeatureTypes. /// /// 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 /// form data. To perform both types of analysis, add TABLES and FORMS to FeatureTypes. /// All lines and words detected in the document are included in the response (including /// text that isn't related to the value of FeatureTypes). /// /// [AWSProperty(Required=true)] public List FeatureTypes { get { return this._featureTypes; } set { this._featureTypes = value; } } // Check to see if FeatureTypes property is set internal bool IsSetFeatureTypes() { return this._featureTypes != null && this._featureTypes.Count > 0; } /// /// Gets and sets the property JobTag. /// /// An identifier that you specify that's included in the completion notification published /// to the Amazon SNS topic. For example, you can use JobTag to identify /// the type of document that the completion notification corresponds to (such as a tax /// form or a receipt). /// /// [AWSProperty(Min=1, Max=64)] public string JobTag { get { return this._jobTag; } set { this._jobTag = value; } } // Check to see if JobTag property is set internal bool IsSetJobTag() { return this._jobTag != null; } /// /// Gets and sets the property KMSKeyId. /// /// The KMS key used to encrypt the inference results. This can be in either Key ID or /// Key Alias format. When a KMS key is provided, the KMS key will be used for server-side /// encryption of the objects in the customer bucket. When this parameter is not enabled, /// the result will be encrypted server side,using SSE-S3. /// /// [AWSProperty(Min=1, Max=2048)] public string KMSKeyId { get { return this._kmsKeyId; } set { this._kmsKeyId = value; } } // Check to see if KMSKeyId property is set internal bool IsSetKMSKeyId() { return this._kmsKeyId != null; } /// /// Gets and sets the property NotificationChannel. /// /// The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status /// of the operation to. /// /// public NotificationChannel NotificationChannel { get { return this._notificationChannel; } set { this._notificationChannel = value; } } // Check to see if NotificationChannel property is set internal bool IsSetNotificationChannel() { return this._notificationChannel != null; } /// /// Gets and sets the property OutputConfig. /// /// Sets if the output will go to a customer defined bucket. By default, Amazon Textract /// will save the results internally to be accessed by the GetDocumentAnalysis operation. /// /// public OutputConfig OutputConfig { get { return this._outputConfig; } set { this._outputConfig = value; } } // Check to see if OutputConfig property is set internal bool IsSetOutputConfig() { return this._outputConfig != null; } /// /// Gets and sets the property QueriesConfig. /// public QueriesConfig QueriesConfig { get { return this._queriesConfig; } set { this._queriesConfig = value; } } // Check to see if QueriesConfig property is set internal bool IsSetQueriesConfig() { return this._queriesConfig != null; } } }