/* * 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 StartExpenseAnalysis operation. /// Starts the asynchronous analysis of invoices or receipts for data like contact information, /// items purchased, and vendor names. /// /// /// /// StartExpenseAnalysis can analyze text in documents that are in JPEG, /// PNG, and PDF format. The documents must be stored in an Amazon S3 bucket. Use the /// DocumentLocation parameter to specify the name of your S3 bucket and the name /// of the document in that bucket. /// /// /// /// StartExpenseAnalysis returns a job identifier (JobId) that /// you will provide to GetExpenseAnalysis to retrieve the results of the /// operation. When the analysis of the input invoices/receipts is finished, Amazon Textract /// publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) /// topic that you provide to the NotificationChannel. To obtain the results /// of the invoice and receipt analysis operation, ensure that the status value published /// to the Amazon SNS topic is SUCCEEDED. If so, call GetExpenseAnalysis, /// and pass the job identifier (JobId) that was returned by your call to /// StartExpenseAnalysis. /// /// /// /// For more information, see Analyzing /// Invoices and Receipts. /// /// public partial class StartExpenseAnalysisRequest : AmazonTextractRequest { private string _clientRequestToken; private DocumentLocation _documentLocation; private string _jobTag; private string _kmsKeyId; private NotificationChannel _notificationChannel; private OutputConfig _outputConfig; /// /// Gets and sets the property ClientRequestToken. /// /// 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. 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 JobTag. /// /// An identifier 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 GetExpenseAnalysis /// 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; } } }