/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Provides information about permissions settings that determine whether an S3
* bucket is publicly accessible.See Also:
AWS
* API Reference
Specifies whether the bucket is publicly accessible due to the combination of * permissions settings that apply to the bucket. Possible values are: PUBLIC, the * bucket is publicly accessible; and, NOT_PUBLIC, the bucket isn't publicly * accessible.
*/ inline const EffectivePermission& GetEffectivePermission() const{ return m_effectivePermission; } /** *Specifies whether the bucket is publicly accessible due to the combination of * permissions settings that apply to the bucket. Possible values are: PUBLIC, the * bucket is publicly accessible; and, NOT_PUBLIC, the bucket isn't publicly * accessible.
*/ inline bool EffectivePermissionHasBeenSet() const { return m_effectivePermissionHasBeenSet; } /** *Specifies whether the bucket is publicly accessible due to the combination of * permissions settings that apply to the bucket. Possible values are: PUBLIC, the * bucket is publicly accessible; and, NOT_PUBLIC, the bucket isn't publicly * accessible.
*/ inline void SetEffectivePermission(const EffectivePermission& value) { m_effectivePermissionHasBeenSet = true; m_effectivePermission = value; } /** *Specifies whether the bucket is publicly accessible due to the combination of * permissions settings that apply to the bucket. Possible values are: PUBLIC, the * bucket is publicly accessible; and, NOT_PUBLIC, the bucket isn't publicly * accessible.
*/ inline void SetEffectivePermission(EffectivePermission&& value) { m_effectivePermissionHasBeenSet = true; m_effectivePermission = std::move(value); } /** *Specifies whether the bucket is publicly accessible due to the combination of * permissions settings that apply to the bucket. Possible values are: PUBLIC, the * bucket is publicly accessible; and, NOT_PUBLIC, the bucket isn't publicly * accessible.
*/ inline BucketPublicAccess& WithEffectivePermission(const EffectivePermission& value) { SetEffectivePermission(value); return *this;} /** *Specifies whether the bucket is publicly accessible due to the combination of * permissions settings that apply to the bucket. Possible values are: PUBLIC, the * bucket is publicly accessible; and, NOT_PUBLIC, the bucket isn't publicly * accessible.
*/ inline BucketPublicAccess& WithEffectivePermission(EffectivePermission&& value) { SetEffectivePermission(std::move(value)); return *this;} /** *The account-level and bucket-level permissions for the bucket.
*/ inline const BucketPermissionConfiguration& GetPermissionConfiguration() const{ return m_permissionConfiguration; } /** *The account-level and bucket-level permissions for the bucket.
*/ inline bool PermissionConfigurationHasBeenSet() const { return m_permissionConfigurationHasBeenSet; } /** *The account-level and bucket-level permissions for the bucket.
*/ inline void SetPermissionConfiguration(const BucketPermissionConfiguration& value) { m_permissionConfigurationHasBeenSet = true; m_permissionConfiguration = value; } /** *The account-level and bucket-level permissions for the bucket.
*/ inline void SetPermissionConfiguration(BucketPermissionConfiguration&& value) { m_permissionConfigurationHasBeenSet = true; m_permissionConfiguration = std::move(value); } /** *The account-level and bucket-level permissions for the bucket.
*/ inline BucketPublicAccess& WithPermissionConfiguration(const BucketPermissionConfiguration& value) { SetPermissionConfiguration(value); return *this;} /** *The account-level and bucket-level permissions for the bucket.
*/ inline BucketPublicAccess& WithPermissionConfiguration(BucketPermissionConfiguration&& value) { SetPermissionConfiguration(std::move(value)); return *this;} private: EffectivePermission m_effectivePermission; bool m_effectivePermissionHasBeenSet; BucketPermissionConfiguration m_permissionConfiguration; bool m_permissionConfigurationHasBeenSet; }; } // namespace Model } // namespace Macie2 } // namespace Aws