/**
* 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 GuardDuty
{
namespace Model
{
/**
* Contains information on how the bucker owner's S3 Block Public Access
* settings are being applied to the S3 bucket. See S3
* Block Public Access for more information.
See Also:
AWS
* API Reference
*/
class BlockPublicAccess
{
public:
AWS_GUARDDUTY_API BlockPublicAccess();
AWS_GUARDDUTY_API BlockPublicAccess(Aws::Utils::Json::JsonView jsonValue);
AWS_GUARDDUTY_API BlockPublicAccess& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* Indicates if S3 Block Public Access is set to
* IgnorePublicAcls
.
*/
inline bool GetIgnorePublicAcls() const{ return m_ignorePublicAcls; }
/**
* Indicates if S3 Block Public Access is set to
* IgnorePublicAcls
.
*/
inline bool IgnorePublicAclsHasBeenSet() const { return m_ignorePublicAclsHasBeenSet; }
/**
* Indicates if S3 Block Public Access is set to
* IgnorePublicAcls
.
*/
inline void SetIgnorePublicAcls(bool value) { m_ignorePublicAclsHasBeenSet = true; m_ignorePublicAcls = value; }
/**
* Indicates if S3 Block Public Access is set to
* IgnorePublicAcls
.
*/
inline BlockPublicAccess& WithIgnorePublicAcls(bool value) { SetIgnorePublicAcls(value); return *this;}
/**
* Indicates if S3 Block Public Access is set to
* RestrictPublicBuckets
.
*/
inline bool GetRestrictPublicBuckets() const{ return m_restrictPublicBuckets; }
/**
* Indicates if S3 Block Public Access is set to
* RestrictPublicBuckets
.
*/
inline bool RestrictPublicBucketsHasBeenSet() const { return m_restrictPublicBucketsHasBeenSet; }
/**
* Indicates if S3 Block Public Access is set to
* RestrictPublicBuckets
.
*/
inline void SetRestrictPublicBuckets(bool value) { m_restrictPublicBucketsHasBeenSet = true; m_restrictPublicBuckets = value; }
/**
* Indicates if S3 Block Public Access is set to
* RestrictPublicBuckets
.
*/
inline BlockPublicAccess& WithRestrictPublicBuckets(bool value) { SetRestrictPublicBuckets(value); return *this;}
/**
* Indicates if S3 Block Public Access is set to
* BlockPublicAcls
.
*/
inline bool GetBlockPublicAcls() const{ return m_blockPublicAcls; }
/**
* Indicates if S3 Block Public Access is set to
* BlockPublicAcls
.
*/
inline bool BlockPublicAclsHasBeenSet() const { return m_blockPublicAclsHasBeenSet; }
/**
* Indicates if S3 Block Public Access is set to
* BlockPublicAcls
.
*/
inline void SetBlockPublicAcls(bool value) { m_blockPublicAclsHasBeenSet = true; m_blockPublicAcls = value; }
/**
* Indicates if S3 Block Public Access is set to
* BlockPublicAcls
.
*/
inline BlockPublicAccess& WithBlockPublicAcls(bool value) { SetBlockPublicAcls(value); return *this;}
/**
* Indicates if S3 Block Public Access is set to
* BlockPublicPolicy
.
*/
inline bool GetBlockPublicPolicy() const{ return m_blockPublicPolicy; }
/**
* Indicates if S3 Block Public Access is set to
* BlockPublicPolicy
.
*/
inline bool BlockPublicPolicyHasBeenSet() const { return m_blockPublicPolicyHasBeenSet; }
/**
* Indicates if S3 Block Public Access is set to
* BlockPublicPolicy
.
*/
inline void SetBlockPublicPolicy(bool value) { m_blockPublicPolicyHasBeenSet = true; m_blockPublicPolicy = value; }
/**
* Indicates if S3 Block Public Access is set to
* BlockPublicPolicy
.
*/
inline BlockPublicAccess& WithBlockPublicPolicy(bool value) { SetBlockPublicPolicy(value); return *this;}
private:
bool m_ignorePublicAcls;
bool m_ignorePublicAclsHasBeenSet = false;
bool m_restrictPublicBuckets;
bool m_restrictPublicBucketsHasBeenSet = false;
bool m_blockPublicAcls;
bool m_blockPublicAclsHasBeenSet = false;
bool m_blockPublicPolicy;
bool m_blockPublicPolicyHasBeenSet = false;
};
} // namespace Model
} // namespace GuardDuty
} // namespace Aws