AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
S3BucketConfiguration.h
1
6#pragma once
7#include <aws/accessanalyzer/AccessAnalyzer_EXPORTS.h>
8#include <aws/accessanalyzer/model/S3AccessPointConfiguration.h>
9#include <aws/accessanalyzer/model/S3BucketAclGrantConfiguration.h>
10#include <aws/accessanalyzer/model/S3PublicAccessBlockConfiguration.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace AccessAnalyzer {
25namespace Model {
26
45 public:
46 AWS_ACCESSANALYZER_API S3BucketConfiguration() = default;
47 AWS_ACCESSANALYZER_API S3BucketConfiguration(Aws::Utils::Json::JsonView jsonValue);
49 AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const;
50
52
55 inline const Aws::String& GetBucketPolicy() const { return m_bucketPolicy; }
56 inline bool BucketPolicyHasBeenSet() const { return m_bucketPolicyHasBeenSet; }
57 template <typename BucketPolicyT = Aws::String>
58 void SetBucketPolicy(BucketPolicyT&& value) {
59 m_bucketPolicyHasBeenSet = true;
60 m_bucketPolicy = std::forward<BucketPolicyT>(value);
61 }
62 template <typename BucketPolicyT = Aws::String>
63 S3BucketConfiguration& WithBucketPolicy(BucketPolicyT&& value) {
64 SetBucketPolicy(std::forward<BucketPolicyT>(value));
65 return *this;
66 }
68
70
77 inline const Aws::Vector<S3BucketAclGrantConfiguration>& GetBucketAclGrants() const { return m_bucketAclGrants; }
78 inline bool BucketAclGrantsHasBeenSet() const { return m_bucketAclGrantsHasBeenSet; }
79 template <typename BucketAclGrantsT = Aws::Vector<S3BucketAclGrantConfiguration>>
80 void SetBucketAclGrants(BucketAclGrantsT&& value) {
81 m_bucketAclGrantsHasBeenSet = true;
82 m_bucketAclGrants = std::forward<BucketAclGrantsT>(value);
83 }
84 template <typename BucketAclGrantsT = Aws::Vector<S3BucketAclGrantConfiguration>>
85 S3BucketConfiguration& WithBucketAclGrants(BucketAclGrantsT&& value) {
86 SetBucketAclGrants(std::forward<BucketAclGrantsT>(value));
87 return *this;
88 }
89 template <typename BucketAclGrantsT = S3BucketAclGrantConfiguration>
90 S3BucketConfiguration& AddBucketAclGrants(BucketAclGrantsT&& value) {
91 m_bucketAclGrantsHasBeenSet = true;
92 m_bucketAclGrants.emplace_back(std::forward<BucketAclGrantsT>(value));
93 return *this;
94 }
96
98
101 inline const S3PublicAccessBlockConfiguration& GetBucketPublicAccessBlock() const { return m_bucketPublicAccessBlock; }
102 inline bool BucketPublicAccessBlockHasBeenSet() const { return m_bucketPublicAccessBlockHasBeenSet; }
103 template <typename BucketPublicAccessBlockT = S3PublicAccessBlockConfiguration>
104 void SetBucketPublicAccessBlock(BucketPublicAccessBlockT&& value) {
105 m_bucketPublicAccessBlockHasBeenSet = true;
106 m_bucketPublicAccessBlock = std::forward<BucketPublicAccessBlockT>(value);
107 }
108 template <typename BucketPublicAccessBlockT = S3PublicAccessBlockConfiguration>
109 S3BucketConfiguration& WithBucketPublicAccessBlock(BucketPublicAccessBlockT&& value) {
110 SetBucketPublicAccessBlock(std::forward<BucketPublicAccessBlockT>(value));
111 return *this;
112 }
114
116
120 inline const Aws::Map<Aws::String, S3AccessPointConfiguration>& GetAccessPoints() const { return m_accessPoints; }
121 inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; }
122 template <typename AccessPointsT = Aws::Map<Aws::String, S3AccessPointConfiguration>>
123 void SetAccessPoints(AccessPointsT&& value) {
124 m_accessPointsHasBeenSet = true;
125 m_accessPoints = std::forward<AccessPointsT>(value);
126 }
127 template <typename AccessPointsT = Aws::Map<Aws::String, S3AccessPointConfiguration>>
128 S3BucketConfiguration& WithAccessPoints(AccessPointsT&& value) {
129 SetAccessPoints(std::forward<AccessPointsT>(value));
130 return *this;
131 }
132 template <typename AccessPointsKeyT = Aws::String, typename AccessPointsValueT = S3AccessPointConfiguration>
133 S3BucketConfiguration& AddAccessPoints(AccessPointsKeyT&& key, AccessPointsValueT&& value) {
134 m_accessPointsHasBeenSet = true;
135 m_accessPoints.emplace(std::forward<AccessPointsKeyT>(key), std::forward<AccessPointsValueT>(value));
136 return *this;
137 }
139 private:
140 Aws::String m_bucketPolicy;
141
143
144 S3PublicAccessBlockConfiguration m_bucketPublicAccessBlock;
145
147 bool m_bucketPolicyHasBeenSet = false;
148 bool m_bucketAclGrantsHasBeenSet = false;
149 bool m_bucketPublicAccessBlockHasBeenSet = false;
150 bool m_accessPointsHasBeenSet = false;
151};
152
153} // namespace Model
154} // namespace AccessAnalyzer
155} // namespace Aws
S3BucketConfiguration & WithAccessPoints(AccessPointsT &&value)
AWS_ACCESSANALYZER_API S3BucketConfiguration(Aws::Utils::Json::JsonView jsonValue)
AWS_ACCESSANALYZER_API S3BucketConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
S3BucketConfiguration & WithBucketPolicy(BucketPolicyT &&value)
void SetBucketPublicAccessBlock(BucketPublicAccessBlockT &&value)
S3BucketConfiguration & WithBucketPublicAccessBlock(BucketPublicAccessBlockT &&value)
AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const
S3BucketConfiguration & WithBucketAclGrants(BucketAclGrantsT &&value)
AWS_ACCESSANALYZER_API S3BucketConfiguration()=default
S3BucketConfiguration & AddBucketAclGrants(BucketAclGrantsT &&value)
const Aws::Map< Aws::String, S3AccessPointConfiguration > & GetAccessPoints() const
const Aws::Vector< S3BucketAclGrantConfiguration > & GetBucketAclGrants() const
S3BucketConfiguration & AddAccessPoints(AccessPointsKeyT &&key, AccessPointsValueT &&value)
const S3PublicAccessBlockConfiguration & GetBucketPublicAccessBlock() const
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue