/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the public access policies that apply to the S3
* bucket.See Also:
AWS
* API Reference
Contains information about how permissions are configured for the S3 * bucket.
*/ inline const PermissionConfiguration& GetPermissionConfiguration() const{ return m_permissionConfiguration; } /** *Contains information about how permissions are configured for the S3 * bucket.
*/ inline bool PermissionConfigurationHasBeenSet() const { return m_permissionConfigurationHasBeenSet; } /** *Contains information about how permissions are configured for the S3 * bucket.
*/ inline void SetPermissionConfiguration(const PermissionConfiguration& value) { m_permissionConfigurationHasBeenSet = true; m_permissionConfiguration = value; } /** *Contains information about how permissions are configured for the S3 * bucket.
*/ inline void SetPermissionConfiguration(PermissionConfiguration&& value) { m_permissionConfigurationHasBeenSet = true; m_permissionConfiguration = std::move(value); } /** *Contains information about how permissions are configured for the S3 * bucket.
*/ inline PublicAccess& WithPermissionConfiguration(const PermissionConfiguration& value) { SetPermissionConfiguration(value); return *this;} /** *Contains information about how permissions are configured for the S3 * bucket.
*/ inline PublicAccess& WithPermissionConfiguration(PermissionConfiguration&& value) { SetPermissionConfiguration(std::move(value)); return *this;} /** *Describes the effective permission on this bucket after factoring all * attached policies.
*/ inline const Aws::String& GetEffectivePermission() const{ return m_effectivePermission; } /** *Describes the effective permission on this bucket after factoring all * attached policies.
*/ inline bool EffectivePermissionHasBeenSet() const { return m_effectivePermissionHasBeenSet; } /** *Describes the effective permission on this bucket after factoring all * attached policies.
*/ inline void SetEffectivePermission(const Aws::String& value) { m_effectivePermissionHasBeenSet = true; m_effectivePermission = value; } /** *Describes the effective permission on this bucket after factoring all * attached policies.
*/ inline void SetEffectivePermission(Aws::String&& value) { m_effectivePermissionHasBeenSet = true; m_effectivePermission = std::move(value); } /** *Describes the effective permission on this bucket after factoring all * attached policies.
*/ inline void SetEffectivePermission(const char* value) { m_effectivePermissionHasBeenSet = true; m_effectivePermission.assign(value); } /** *Describes the effective permission on this bucket after factoring all * attached policies.
*/ inline PublicAccess& WithEffectivePermission(const Aws::String& value) { SetEffectivePermission(value); return *this;} /** *Describes the effective permission on this bucket after factoring all * attached policies.
*/ inline PublicAccess& WithEffectivePermission(Aws::String&& value) { SetEffectivePermission(std::move(value)); return *this;} /** *Describes the effective permission on this bucket after factoring all * attached policies.
*/ inline PublicAccess& WithEffectivePermission(const char* value) { SetEffectivePermission(value); return *this;} private: PermissionConfiguration m_permissionConfiguration; bool m_permissionConfigurationHasBeenSet = false; Aws::String m_effectivePermission; bool m_effectivePermissionHasBeenSet = false; }; } // namespace Model } // namespace GuardDuty } // namespace Aws