AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
BucketLevelPermissions.h
1
6#pragma once
7#include <aws/macie2/Macie2_EXPORTS.h>
8#include <aws/macie2/model/AccessControlList.h>
9#include <aws/macie2/model/BlockPublicAccess.h>
10#include <aws/macie2/model/BucketPolicy.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Macie2
24{
25namespace Model
26{
27
35 {
36 public:
37 AWS_MACIE2_API BucketLevelPermissions() = default;
40 AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const;
41
42
44
48 inline const AccessControlList& GetAccessControlList() const { return m_accessControlList; }
49 inline bool AccessControlListHasBeenSet() const { return m_accessControlListHasBeenSet; }
50 template<typename AccessControlListT = AccessControlList>
51 void SetAccessControlList(AccessControlListT&& value) { m_accessControlListHasBeenSet = true; m_accessControlList = std::forward<AccessControlListT>(value); }
52 template<typename AccessControlListT = AccessControlList>
53 BucketLevelPermissions& WithAccessControlList(AccessControlListT&& value) { SetAccessControlList(std::forward<AccessControlListT>(value)); return *this;}
55
57
60 inline const BlockPublicAccess& GetBlockPublicAccess() const { return m_blockPublicAccess; }
61 inline bool BlockPublicAccessHasBeenSet() const { return m_blockPublicAccessHasBeenSet; }
62 template<typename BlockPublicAccessT = BlockPublicAccess>
63 void SetBlockPublicAccess(BlockPublicAccessT&& value) { m_blockPublicAccessHasBeenSet = true; m_blockPublicAccess = std::forward<BlockPublicAccessT>(value); }
64 template<typename BlockPublicAccessT = BlockPublicAccess>
65 BucketLevelPermissions& WithBlockPublicAccess(BlockPublicAccessT&& value) { SetBlockPublicAccess(std::forward<BlockPublicAccessT>(value)); return *this;}
67
69
73 inline const BucketPolicy& GetBucketPolicy() const { return m_bucketPolicy; }
74 inline bool BucketPolicyHasBeenSet() const { return m_bucketPolicyHasBeenSet; }
75 template<typename BucketPolicyT = BucketPolicy>
76 void SetBucketPolicy(BucketPolicyT&& value) { m_bucketPolicyHasBeenSet = true; m_bucketPolicy = std::forward<BucketPolicyT>(value); }
77 template<typename BucketPolicyT = BucketPolicy>
78 BucketLevelPermissions& WithBucketPolicy(BucketPolicyT&& value) { SetBucketPolicy(std::forward<BucketPolicyT>(value)); return *this;}
80 private:
81
82 AccessControlList m_accessControlList;
83 bool m_accessControlListHasBeenSet = false;
84
85 BlockPublicAccess m_blockPublicAccess;
86 bool m_blockPublicAccessHasBeenSet = false;
87
88 BucketPolicy m_bucketPolicy;
89 bool m_bucketPolicyHasBeenSet = false;
90 };
91
92} // namespace Model
93} // namespace Macie2
94} // namespace Aws
void SetAccessControlList(AccessControlListT &&value)
AWS_MACIE2_API BucketLevelPermissions & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_MACIE2_API BucketLevelPermissions(Aws::Utils::Json::JsonView jsonValue)
BucketLevelPermissions & WithBucketPolicy(BucketPolicyT &&value)
AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const
BucketLevelPermissions & WithBlockPublicAccess(BlockPublicAccessT &&value)
AWS_MACIE2_API BucketLevelPermissions()=default
BucketLevelPermissions & WithAccessControlList(AccessControlListT &&value)
void SetBlockPublicAccess(BlockPublicAccessT &&value)
const AccessControlList & GetAccessControlList() const
const BlockPublicAccess & GetBlockPublicAccess() const
Aws::Utils::Json::JsonValue JsonValue