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

Provides information about the number of S3 buckets whose bucket policies do * or don't require server-side encryption of objects when objects are added to the * buckets.

See Also:

AWS * API Reference

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

The total number of buckets that don't have a bucket policy or have a bucket * policy that doesn't require server-side encryption of new objects. If a bucket * policy exists, the policy doesn't require PutObject requests to include a valid * server-side encryption header: the x-amz-server-side-encryption header with a * value of AES256 or aws:kms, or the * x-amz-server-side-encryption-customer-algorithm header with a value of * AES256.

*/ inline long long GetAllowsUnencryptedObjectUploads() const{ return m_allowsUnencryptedObjectUploads; } /** *

The total number of buckets that don't have a bucket policy or have a bucket * policy that doesn't require server-side encryption of new objects. If a bucket * policy exists, the policy doesn't require PutObject requests to include a valid * server-side encryption header: the x-amz-server-side-encryption header with a * value of AES256 or aws:kms, or the * x-amz-server-side-encryption-customer-algorithm header with a value of * AES256.

*/ inline bool AllowsUnencryptedObjectUploadsHasBeenSet() const { return m_allowsUnencryptedObjectUploadsHasBeenSet; } /** *

The total number of buckets that don't have a bucket policy or have a bucket * policy that doesn't require server-side encryption of new objects. If a bucket * policy exists, the policy doesn't require PutObject requests to include a valid * server-side encryption header: the x-amz-server-side-encryption header with a * value of AES256 or aws:kms, or the * x-amz-server-side-encryption-customer-algorithm header with a value of * AES256.

*/ inline void SetAllowsUnencryptedObjectUploads(long long value) { m_allowsUnencryptedObjectUploadsHasBeenSet = true; m_allowsUnencryptedObjectUploads = value; } /** *

The total number of buckets that don't have a bucket policy or have a bucket * policy that doesn't require server-side encryption of new objects. If a bucket * policy exists, the policy doesn't require PutObject requests to include a valid * server-side encryption header: the x-amz-server-side-encryption header with a * value of AES256 or aws:kms, or the * x-amz-server-side-encryption-customer-algorithm header with a value of * AES256.

*/ inline BucketCountPolicyAllowsUnencryptedObjectUploads& WithAllowsUnencryptedObjectUploads(long long value) { SetAllowsUnencryptedObjectUploads(value); return *this;} /** *

The total number of buckets whose bucket policies require server-side * encryption of new objects. PutObject requests for these buckets must include a * valid server-side encryption header: the x-amz-server-side-encryption header * with a value of AES256 or aws:kms, or the * x-amz-server-side-encryption-customer-algorithm header with a value of * AES256.

*/ inline long long GetDeniesUnencryptedObjectUploads() const{ return m_deniesUnencryptedObjectUploads; } /** *

The total number of buckets whose bucket policies require server-side * encryption of new objects. PutObject requests for these buckets must include a * valid server-side encryption header: the x-amz-server-side-encryption header * with a value of AES256 or aws:kms, or the * x-amz-server-side-encryption-customer-algorithm header with a value of * AES256.

*/ inline bool DeniesUnencryptedObjectUploadsHasBeenSet() const { return m_deniesUnencryptedObjectUploadsHasBeenSet; } /** *

The total number of buckets whose bucket policies require server-side * encryption of new objects. PutObject requests for these buckets must include a * valid server-side encryption header: the x-amz-server-side-encryption header * with a value of AES256 or aws:kms, or the * x-amz-server-side-encryption-customer-algorithm header with a value of * AES256.

*/ inline void SetDeniesUnencryptedObjectUploads(long long value) { m_deniesUnencryptedObjectUploadsHasBeenSet = true; m_deniesUnencryptedObjectUploads = value; } /** *

The total number of buckets whose bucket policies require server-side * encryption of new objects. PutObject requests for these buckets must include a * valid server-side encryption header: the x-amz-server-side-encryption header * with a value of AES256 or aws:kms, or the * x-amz-server-side-encryption-customer-algorithm header with a value of * AES256.

*/ inline BucketCountPolicyAllowsUnencryptedObjectUploads& WithDeniesUnencryptedObjectUploads(long long value) { SetDeniesUnencryptedObjectUploads(value); return *this;} /** *

The total number of buckets that Amazon Macie wasn't able to evaluate * server-side encryption requirements for. Macie can't determine whether the * bucket policies for these buckets require server-side encryption of new * objects.

*/ inline long long GetUnknown() const{ return m_unknown; } /** *

The total number of buckets that Amazon Macie wasn't able to evaluate * server-side encryption requirements for. Macie can't determine whether the * bucket policies for these buckets require server-side encryption of new * objects.

*/ inline bool UnknownHasBeenSet() const { return m_unknownHasBeenSet; } /** *

The total number of buckets that Amazon Macie wasn't able to evaluate * server-side encryption requirements for. Macie can't determine whether the * bucket policies for these buckets require server-side encryption of new * objects.

*/ inline void SetUnknown(long long value) { m_unknownHasBeenSet = true; m_unknown = value; } /** *

The total number of buckets that Amazon Macie wasn't able to evaluate * server-side encryption requirements for. Macie can't determine whether the * bucket policies for these buckets require server-side encryption of new * objects.

*/ inline BucketCountPolicyAllowsUnencryptedObjectUploads& WithUnknown(long long value) { SetUnknown(value); return *this;} private: long long m_allowsUnencryptedObjectUploads; bool m_allowsUnencryptedObjectUploadsHasBeenSet = false; long long m_deniesUnencryptedObjectUploads; bool m_deniesUnencryptedObjectUploadsHasBeenSet = false; long long m_unknown; bool m_unknownHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws