/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Textract { namespace Model { /** *

Sets whether or not your output will go to a user created bucket. Used to set * the name of the bucket, and the prefix on the output file.

* OutputConfig is an optional parameter which lets you adjust where * your output will be placed. By default, Amazon Textract will store the results * internally and can only be accessed by the Get API operations. With * OutputConfig enabled, you can set the name of the bucket the output * will be sent to the file prefix of the results where you can download your * results. Additionally, you can set the KMSKeyID parameter to a * customer master key (CMK) to encrypt your output. Without this parameter set * Amazon Textract will encrypt server-side using the AWS managed CMK for Amazon * S3.

Decryption of Customer Content is necessary for processing of the * documents by Amazon Textract. If your account is opted out under an AI services * opt out policy then all unencrypted Customer Content is immediately and * permanently deleted after the Customer Content has been processed by the * service. No copy of of the output is retained by Amazon Textract. For * information about how to opt out, see * Managing AI services opt-out policy.

For more information on data * privacy, see the Data Privacy * FAQ.

See Also:

AWS * API Reference

*/ class OutputConfig { public: AWS_TEXTRACT_API OutputConfig(); AWS_TEXTRACT_API OutputConfig(Aws::Utils::Json::JsonView jsonValue); AWS_TEXTRACT_API OutputConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_TEXTRACT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of the bucket your output will go to.

*/ inline const Aws::String& GetS3Bucket() const{ return m_s3Bucket; } /** *

The name of the bucket your output will go to.

*/ inline bool S3BucketHasBeenSet() const { return m_s3BucketHasBeenSet; } /** *

The name of the bucket your output will go to.

*/ inline void SetS3Bucket(const Aws::String& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = value; } /** *

The name of the bucket your output will go to.

*/ inline void SetS3Bucket(Aws::String&& value) { m_s3BucketHasBeenSet = true; m_s3Bucket = std::move(value); } /** *

The name of the bucket your output will go to.

*/ inline void SetS3Bucket(const char* value) { m_s3BucketHasBeenSet = true; m_s3Bucket.assign(value); } /** *

The name of the bucket your output will go to.

*/ inline OutputConfig& WithS3Bucket(const Aws::String& value) { SetS3Bucket(value); return *this;} /** *

The name of the bucket your output will go to.

*/ inline OutputConfig& WithS3Bucket(Aws::String&& value) { SetS3Bucket(std::move(value)); return *this;} /** *

The name of the bucket your output will go to.

*/ inline OutputConfig& WithS3Bucket(const char* value) { SetS3Bucket(value); return *this;} /** *

The prefix of the object key that the output will be saved to. When not * enabled, the prefix will be “textract_output".

*/ inline const Aws::String& GetS3Prefix() const{ return m_s3Prefix; } /** *

The prefix of the object key that the output will be saved to. When not * enabled, the prefix will be “textract_output".

*/ inline bool S3PrefixHasBeenSet() const { return m_s3PrefixHasBeenSet; } /** *

The prefix of the object key that the output will be saved to. When not * enabled, the prefix will be “textract_output".

*/ inline void SetS3Prefix(const Aws::String& value) { m_s3PrefixHasBeenSet = true; m_s3Prefix = value; } /** *

The prefix of the object key that the output will be saved to. When not * enabled, the prefix will be “textract_output".

*/ inline void SetS3Prefix(Aws::String&& value) { m_s3PrefixHasBeenSet = true; m_s3Prefix = std::move(value); } /** *

The prefix of the object key that the output will be saved to. When not * enabled, the prefix will be “textract_output".

*/ inline void SetS3Prefix(const char* value) { m_s3PrefixHasBeenSet = true; m_s3Prefix.assign(value); } /** *

The prefix of the object key that the output will be saved to. When not * enabled, the prefix will be “textract_output".

*/ inline OutputConfig& WithS3Prefix(const Aws::String& value) { SetS3Prefix(value); return *this;} /** *

The prefix of the object key that the output will be saved to. When not * enabled, the prefix will be “textract_output".

*/ inline OutputConfig& WithS3Prefix(Aws::String&& value) { SetS3Prefix(std::move(value)); return *this;} /** *

The prefix of the object key that the output will be saved to. When not * enabled, the prefix will be “textract_output".

*/ inline OutputConfig& WithS3Prefix(const char* value) { SetS3Prefix(value); return *this;} private: Aws::String m_s3Bucket; bool m_s3BucketHasBeenSet = false; Aws::String m_s3Prefix; bool m_s3PrefixHasBeenSet = false; }; } // namespace Model } // namespace Textract } // namespace Aws