/** * 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 SecurityHub { namespace Model { /** *

Specifies the default server-side encryption to apply to new objects in the * bucket.

See Also:

AWS * API Reference

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

Server-side encryption algorithm to use for the default encryption. Valid * values are aws: kms or AES256.

*/ inline const Aws::String& GetSSEAlgorithm() const{ return m_sSEAlgorithm; } /** *

Server-side encryption algorithm to use for the default encryption. Valid * values are aws: kms or AES256.

*/ inline bool SSEAlgorithmHasBeenSet() const { return m_sSEAlgorithmHasBeenSet; } /** *

Server-side encryption algorithm to use for the default encryption. Valid * values are aws: kms or AES256.

*/ inline void SetSSEAlgorithm(const Aws::String& value) { m_sSEAlgorithmHasBeenSet = true; m_sSEAlgorithm = value; } /** *

Server-side encryption algorithm to use for the default encryption. Valid * values are aws: kms or AES256.

*/ inline void SetSSEAlgorithm(Aws::String&& value) { m_sSEAlgorithmHasBeenSet = true; m_sSEAlgorithm = std::move(value); } /** *

Server-side encryption algorithm to use for the default encryption. Valid * values are aws: kms or AES256.

*/ inline void SetSSEAlgorithm(const char* value) { m_sSEAlgorithmHasBeenSet = true; m_sSEAlgorithm.assign(value); } /** *

Server-side encryption algorithm to use for the default encryption. Valid * values are aws: kms or AES256.

*/ inline AwsS3BucketServerSideEncryptionByDefault& WithSSEAlgorithm(const Aws::String& value) { SetSSEAlgorithm(value); return *this;} /** *

Server-side encryption algorithm to use for the default encryption. Valid * values are aws: kms or AES256.

*/ inline AwsS3BucketServerSideEncryptionByDefault& WithSSEAlgorithm(Aws::String&& value) { SetSSEAlgorithm(std::move(value)); return *this;} /** *

Server-side encryption algorithm to use for the default encryption. Valid * values are aws: kms or AES256.

*/ inline AwsS3BucketServerSideEncryptionByDefault& WithSSEAlgorithm(const char* value) { SetSSEAlgorithm(value); return *this;} /** *

KMS key ID to use for the default encryption.

*/ inline const Aws::String& GetKMSMasterKeyID() const{ return m_kMSMasterKeyID; } /** *

KMS key ID to use for the default encryption.

*/ inline bool KMSMasterKeyIDHasBeenSet() const { return m_kMSMasterKeyIDHasBeenSet; } /** *

KMS key ID to use for the default encryption.

*/ inline void SetKMSMasterKeyID(const Aws::String& value) { m_kMSMasterKeyIDHasBeenSet = true; m_kMSMasterKeyID = value; } /** *

KMS key ID to use for the default encryption.

*/ inline void SetKMSMasterKeyID(Aws::String&& value) { m_kMSMasterKeyIDHasBeenSet = true; m_kMSMasterKeyID = std::move(value); } /** *

KMS key ID to use for the default encryption.

*/ inline void SetKMSMasterKeyID(const char* value) { m_kMSMasterKeyIDHasBeenSet = true; m_kMSMasterKeyID.assign(value); } /** *

KMS key ID to use for the default encryption.

*/ inline AwsS3BucketServerSideEncryptionByDefault& WithKMSMasterKeyID(const Aws::String& value) { SetKMSMasterKeyID(value); return *this;} /** *

KMS key ID to use for the default encryption.

*/ inline AwsS3BucketServerSideEncryptionByDefault& WithKMSMasterKeyID(Aws::String&& value) { SetKMSMasterKeyID(std::move(value)); return *this;} /** *

KMS key ID to use for the default encryption.

*/ inline AwsS3BucketServerSideEncryptionByDefault& WithKMSMasterKeyID(const char* value) { SetKMSMasterKeyID(value); return *this;} private: Aws::String m_sSEAlgorithm; bool m_sSEAlgorithmHasBeenSet = false; Aws::String m_kMSMasterKeyID; bool m_kMSMasterKeyIDHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws