/** * 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 that are publicly * accessible based on a combination of permissions settings for each * bucket.

See Also:

AWS * API Reference

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

The total number of buckets that allow the general public to have read or * write access to the bucket.

*/ inline long long GetPubliclyAccessible() const{ return m_publiclyAccessible; } /** *

The total number of buckets that allow the general public to have read or * write access to the bucket.

*/ inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; } /** *

The total number of buckets that allow the general public to have read or * write access to the bucket.

*/ inline void SetPubliclyAccessible(long long value) { m_publiclyAccessibleHasBeenSet = true; m_publiclyAccessible = value; } /** *

The total number of buckets that allow the general public to have read or * write access to the bucket.

*/ inline BucketCountByEffectivePermission& WithPubliclyAccessible(long long value) { SetPubliclyAccessible(value); return *this;} /** *

The total number of buckets that allow the general public to have read access * to the bucket.

*/ inline long long GetPubliclyReadable() const{ return m_publiclyReadable; } /** *

The total number of buckets that allow the general public to have read access * to the bucket.

*/ inline bool PubliclyReadableHasBeenSet() const { return m_publiclyReadableHasBeenSet; } /** *

The total number of buckets that allow the general public to have read access * to the bucket.

*/ inline void SetPubliclyReadable(long long value) { m_publiclyReadableHasBeenSet = true; m_publiclyReadable = value; } /** *

The total number of buckets that allow the general public to have read access * to the bucket.

*/ inline BucketCountByEffectivePermission& WithPubliclyReadable(long long value) { SetPubliclyReadable(value); return *this;} /** *

The total number of buckets that allow the general public to have write * access to the bucket.

*/ inline long long GetPubliclyWritable() const{ return m_publiclyWritable; } /** *

The total number of buckets that allow the general public to have write * access to the bucket.

*/ inline bool PubliclyWritableHasBeenSet() const { return m_publiclyWritableHasBeenSet; } /** *

The total number of buckets that allow the general public to have write * access to the bucket.

*/ inline void SetPubliclyWritable(long long value) { m_publiclyWritableHasBeenSet = true; m_publiclyWritable = value; } /** *

The total number of buckets that allow the general public to have write * access to the bucket.

*/ inline BucketCountByEffectivePermission& WithPubliclyWritable(long long value) { SetPubliclyWritable(value); return *this;} private: long long m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet; long long m_publiclyReadable; bool m_publiclyReadableHasBeenSet; long long m_publiclyWritable; bool m_publiclyWritableHasBeenSet; }; } // namespace Model } // namespace Macie2 } // namespace Aws