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

Specifies an encryption configuration.

See Also:

AWS * API Reference

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

The encryption configuration for Amazon Simple Storage Service (Amazon S3) * data.

*/ inline const Aws::Vector& GetS3Encryption() const{ return m_s3Encryption; } /** *

The encryption configuration for Amazon Simple Storage Service (Amazon S3) * data.

*/ inline bool S3EncryptionHasBeenSet() const { return m_s3EncryptionHasBeenSet; } /** *

The encryption configuration for Amazon Simple Storage Service (Amazon S3) * data.

*/ inline void SetS3Encryption(const Aws::Vector& value) { m_s3EncryptionHasBeenSet = true; m_s3Encryption = value; } /** *

The encryption configuration for Amazon Simple Storage Service (Amazon S3) * data.

*/ inline void SetS3Encryption(Aws::Vector&& value) { m_s3EncryptionHasBeenSet = true; m_s3Encryption = std::move(value); } /** *

The encryption configuration for Amazon Simple Storage Service (Amazon S3) * data.

*/ inline EncryptionConfiguration& WithS3Encryption(const Aws::Vector& value) { SetS3Encryption(value); return *this;} /** *

The encryption configuration for Amazon Simple Storage Service (Amazon S3) * data.

*/ inline EncryptionConfiguration& WithS3Encryption(Aws::Vector&& value) { SetS3Encryption(std::move(value)); return *this;} /** *

The encryption configuration for Amazon Simple Storage Service (Amazon S3) * data.

*/ inline EncryptionConfiguration& AddS3Encryption(const S3Encryption& value) { m_s3EncryptionHasBeenSet = true; m_s3Encryption.push_back(value); return *this; } /** *

The encryption configuration for Amazon Simple Storage Service (Amazon S3) * data.

*/ inline EncryptionConfiguration& AddS3Encryption(S3Encryption&& value) { m_s3EncryptionHasBeenSet = true; m_s3Encryption.push_back(std::move(value)); return *this; } /** *

The encryption configuration for Amazon CloudWatch.

*/ inline const CloudWatchEncryption& GetCloudWatchEncryption() const{ return m_cloudWatchEncryption; } /** *

The encryption configuration for Amazon CloudWatch.

*/ inline bool CloudWatchEncryptionHasBeenSet() const { return m_cloudWatchEncryptionHasBeenSet; } /** *

The encryption configuration for Amazon CloudWatch.

*/ inline void SetCloudWatchEncryption(const CloudWatchEncryption& value) { m_cloudWatchEncryptionHasBeenSet = true; m_cloudWatchEncryption = value; } /** *

The encryption configuration for Amazon CloudWatch.

*/ inline void SetCloudWatchEncryption(CloudWatchEncryption&& value) { m_cloudWatchEncryptionHasBeenSet = true; m_cloudWatchEncryption = std::move(value); } /** *

The encryption configuration for Amazon CloudWatch.

*/ inline EncryptionConfiguration& WithCloudWatchEncryption(const CloudWatchEncryption& value) { SetCloudWatchEncryption(value); return *this;} /** *

The encryption configuration for Amazon CloudWatch.

*/ inline EncryptionConfiguration& WithCloudWatchEncryption(CloudWatchEncryption&& value) { SetCloudWatchEncryption(std::move(value)); return *this;} /** *

The encryption configuration for job bookmarks.

*/ inline const JobBookmarksEncryption& GetJobBookmarksEncryption() const{ return m_jobBookmarksEncryption; } /** *

The encryption configuration for job bookmarks.

*/ inline bool JobBookmarksEncryptionHasBeenSet() const { return m_jobBookmarksEncryptionHasBeenSet; } /** *

The encryption configuration for job bookmarks.

*/ inline void SetJobBookmarksEncryption(const JobBookmarksEncryption& value) { m_jobBookmarksEncryptionHasBeenSet = true; m_jobBookmarksEncryption = value; } /** *

The encryption configuration for job bookmarks.

*/ inline void SetJobBookmarksEncryption(JobBookmarksEncryption&& value) { m_jobBookmarksEncryptionHasBeenSet = true; m_jobBookmarksEncryption = std::move(value); } /** *

The encryption configuration for job bookmarks.

*/ inline EncryptionConfiguration& WithJobBookmarksEncryption(const JobBookmarksEncryption& value) { SetJobBookmarksEncryption(value); return *this;} /** *

The encryption configuration for job bookmarks.

*/ inline EncryptionConfiguration& WithJobBookmarksEncryption(JobBookmarksEncryption&& value) { SetJobBookmarksEncryption(std::move(value)); return *this;} private: Aws::Vector m_s3Encryption; bool m_s3EncryptionHasBeenSet = false; CloudWatchEncryption m_cloudWatchEncryption; bool m_cloudWatchEncryptionHasBeenSet = false; JobBookmarksEncryption m_jobBookmarksEncryption; bool m_jobBookmarksEncryptionHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws