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

Details of the operation to be performed by the job.

See Also:

* AWS * API Reference

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

Encryption configuration for the auto export job.

*/ inline const ExportServerSideEncryption& GetEncryption() const{ return m_encryption; } /** *

Encryption configuration for the auto export job.

*/ inline bool EncryptionHasBeenSet() const { return m_encryptionHasBeenSet; } /** *

Encryption configuration for the auto export job.

*/ inline void SetEncryption(const ExportServerSideEncryption& value) { m_encryptionHasBeenSet = true; m_encryption = value; } /** *

Encryption configuration for the auto export job.

*/ inline void SetEncryption(ExportServerSideEncryption&& value) { m_encryptionHasBeenSet = true; m_encryption = std::move(value); } /** *

Encryption configuration for the auto export job.

*/ inline AutoExportRevisionToS3RequestDetails& WithEncryption(const ExportServerSideEncryption& value) { SetEncryption(value); return *this;} /** *

Encryption configuration for the auto export job.

*/ inline AutoExportRevisionToS3RequestDetails& WithEncryption(ExportServerSideEncryption&& value) { SetEncryption(std::move(value)); return *this;} /** *

A revision destination is the Amazon S3 bucket folder destination to where * the export will be sent.

*/ inline const AutoExportRevisionDestinationEntry& GetRevisionDestination() const{ return m_revisionDestination; } /** *

A revision destination is the Amazon S3 bucket folder destination to where * the export will be sent.

*/ inline bool RevisionDestinationHasBeenSet() const { return m_revisionDestinationHasBeenSet; } /** *

A revision destination is the Amazon S3 bucket folder destination to where * the export will be sent.

*/ inline void SetRevisionDestination(const AutoExportRevisionDestinationEntry& value) { m_revisionDestinationHasBeenSet = true; m_revisionDestination = value; } /** *

A revision destination is the Amazon S3 bucket folder destination to where * the export will be sent.

*/ inline void SetRevisionDestination(AutoExportRevisionDestinationEntry&& value) { m_revisionDestinationHasBeenSet = true; m_revisionDestination = std::move(value); } /** *

A revision destination is the Amazon S3 bucket folder destination to where * the export will be sent.

*/ inline AutoExportRevisionToS3RequestDetails& WithRevisionDestination(const AutoExportRevisionDestinationEntry& value) { SetRevisionDestination(value); return *this;} /** *

A revision destination is the Amazon S3 bucket folder destination to where * the export will be sent.

*/ inline AutoExportRevisionToS3RequestDetails& WithRevisionDestination(AutoExportRevisionDestinationEntry&& value) { SetRevisionDestination(std::move(value)); return *this;} private: ExportServerSideEncryption m_encryption; bool m_encryptionHasBeenSet = false; AutoExportRevisionDestinationEntry m_revisionDestination; bool m_revisionDestinationHasBeenSet = false; }; } // namespace Model } // namespace DataExchange } // namespace Aws