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

The PublicAccessBlock configuration to apply to this Amazon S3 * bucket. If the proposed configuration is for an existing Amazon S3 bucket and * the configuration is not specified, the access preview uses the existing * setting. If the proposed configuration is for a new bucket and the configuration * is not specified, the access preview uses false. If the proposed * configuration is for a new access point or multi-region access point and the * access point BPA configuration is not specified, the access preview uses * true. For more information, see PublicAccessBlockConfiguration. *

See Also:

AWS * API Reference

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

Specifies whether Amazon S3 should ignore public ACLs for this bucket and * objects in this bucket.

*/ inline bool GetIgnorePublicAcls() const{ return m_ignorePublicAcls; } /** *

Specifies whether Amazon S3 should ignore public ACLs for this bucket and * objects in this bucket.

*/ inline bool IgnorePublicAclsHasBeenSet() const { return m_ignorePublicAclsHasBeenSet; } /** *

Specifies whether Amazon S3 should ignore public ACLs for this bucket and * objects in this bucket.

*/ inline void SetIgnorePublicAcls(bool value) { m_ignorePublicAclsHasBeenSet = true; m_ignorePublicAcls = value; } /** *

Specifies whether Amazon S3 should ignore public ACLs for this bucket and * objects in this bucket.

*/ inline S3PublicAccessBlockConfiguration& WithIgnorePublicAcls(bool value) { SetIgnorePublicAcls(value); return *this;} /** *

Specifies whether Amazon S3 should restrict public bucket policies for this * bucket.

*/ inline bool GetRestrictPublicBuckets() const{ return m_restrictPublicBuckets; } /** *

Specifies whether Amazon S3 should restrict public bucket policies for this * bucket.

*/ inline bool RestrictPublicBucketsHasBeenSet() const { return m_restrictPublicBucketsHasBeenSet; } /** *

Specifies whether Amazon S3 should restrict public bucket policies for this * bucket.

*/ inline void SetRestrictPublicBuckets(bool value) { m_restrictPublicBucketsHasBeenSet = true; m_restrictPublicBuckets = value; } /** *

Specifies whether Amazon S3 should restrict public bucket policies for this * bucket.

*/ inline S3PublicAccessBlockConfiguration& WithRestrictPublicBuckets(bool value) { SetRestrictPublicBuckets(value); return *this;} private: bool m_ignorePublicAcls; bool m_ignorePublicAclsHasBeenSet = false; bool m_restrictPublicBuckets; bool m_restrictPublicBucketsHasBeenSet = false; }; } // namespace Model } // namespace AccessAnalyzer } // namespace Aws