AWS SDK for C++

AWS SDK for C++ Version 1.11.747

Loading...
Searching...
No Matches
S3Bucket.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/macie2/Macie2_EXPORTS.h>
11#include <aws/macie2/model/AllowsUnencryptedObjectUploads.h>
12#include <aws/macie2/model/BucketPublicAccess.h>
13#include <aws/macie2/model/KeyValuePair.h>
14#include <aws/macie2/model/S3BucketOwner.h>
15#include <aws/macie2/model/ServerSideEncryption.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace Macie2 {
27namespace Model {
28
38class S3Bucket {
39 public:
40 AWS_MACIE2_API S3Bucket() = default;
41 AWS_MACIE2_API S3Bucket(Aws::Utils::Json::JsonView jsonValue);
42 AWS_MACIE2_API S3Bucket& operator=(Aws::Utils::Json::JsonView jsonValue);
43 AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const;
44
46
60 inline AllowsUnencryptedObjectUploads GetAllowsUnencryptedObjectUploads() const { return m_allowsUnencryptedObjectUploads; }
61 inline bool AllowsUnencryptedObjectUploadsHasBeenSet() const { return m_allowsUnencryptedObjectUploadsHasBeenSet; }
63 m_allowsUnencryptedObjectUploadsHasBeenSet = true;
64 m_allowsUnencryptedObjectUploads = value;
65 }
68 return *this;
69 }
71
73
76 inline const Aws::String& GetArn() const { return m_arn; }
77 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
78 template <typename ArnT = Aws::String>
79 void SetArn(ArnT&& value) {
80 m_arnHasBeenSet = true;
81 m_arn = std::forward<ArnT>(value);
82 }
83 template <typename ArnT = Aws::String>
84 S3Bucket& WithArn(ArnT&& value) {
85 SetArn(std::forward<ArnT>(value));
86 return *this;
87 }
89
91
97 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
98 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
99 template <typename CreatedAtT = Aws::Utils::DateTime>
100 void SetCreatedAt(CreatedAtT&& value) {
101 m_createdAtHasBeenSet = true;
102 m_createdAt = std::forward<CreatedAtT>(value);
103 }
104 template <typename CreatedAtT = Aws::Utils::DateTime>
105 S3Bucket& WithCreatedAt(CreatedAtT&& value) {
106 SetCreatedAt(std::forward<CreatedAtT>(value));
107 return *this;
108 }
110
112
115 inline const ServerSideEncryption& GetDefaultServerSideEncryption() const { return m_defaultServerSideEncryption; }
116 inline bool DefaultServerSideEncryptionHasBeenSet() const { return m_defaultServerSideEncryptionHasBeenSet; }
117 template <typename DefaultServerSideEncryptionT = ServerSideEncryption>
118 void SetDefaultServerSideEncryption(DefaultServerSideEncryptionT&& value) {
119 m_defaultServerSideEncryptionHasBeenSet = true;
120 m_defaultServerSideEncryption = std::forward<DefaultServerSideEncryptionT>(value);
121 }
122 template <typename DefaultServerSideEncryptionT = ServerSideEncryption>
123 S3Bucket& WithDefaultServerSideEncryption(DefaultServerSideEncryptionT&& value) {
124 SetDefaultServerSideEncryption(std::forward<DefaultServerSideEncryptionT>(value));
125 return *this;
126 }
128
130
133 inline const Aws::String& GetName() const { return m_name; }
134 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
135 template <typename NameT = Aws::String>
136 void SetName(NameT&& value) {
137 m_nameHasBeenSet = true;
138 m_name = std::forward<NameT>(value);
139 }
140 template <typename NameT = Aws::String>
141 S3Bucket& WithName(NameT&& value) {
142 SetName(std::forward<NameT>(value));
143 return *this;
144 }
146
148
152 inline const S3BucketOwner& GetOwner() const { return m_owner; }
153 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
154 template <typename OwnerT = S3BucketOwner>
155 void SetOwner(OwnerT&& value) {
156 m_ownerHasBeenSet = true;
157 m_owner = std::forward<OwnerT>(value);
158 }
159 template <typename OwnerT = S3BucketOwner>
160 S3Bucket& WithOwner(OwnerT&& value) {
161 SetOwner(std::forward<OwnerT>(value));
162 return *this;
163 }
165
167
171 inline const BucketPublicAccess& GetPublicAccess() const { return m_publicAccess; }
172 inline bool PublicAccessHasBeenSet() const { return m_publicAccessHasBeenSet; }
173 template <typename PublicAccessT = BucketPublicAccess>
174 void SetPublicAccess(PublicAccessT&& value) {
175 m_publicAccessHasBeenSet = true;
176 m_publicAccess = std::forward<PublicAccessT>(value);
177 }
178 template <typename PublicAccessT = BucketPublicAccess>
179 S3Bucket& WithPublicAccess(PublicAccessT&& value) {
180 SetPublicAccess(std::forward<PublicAccessT>(value));
181 return *this;
182 }
184
186
189 inline const Aws::Vector<KeyValuePair>& GetTags() const { return m_tags; }
190 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
191 template <typename TagsT = Aws::Vector<KeyValuePair>>
192 void SetTags(TagsT&& value) {
193 m_tagsHasBeenSet = true;
194 m_tags = std::forward<TagsT>(value);
195 }
196 template <typename TagsT = Aws::Vector<KeyValuePair>>
197 S3Bucket& WithTags(TagsT&& value) {
198 SetTags(std::forward<TagsT>(value));
199 return *this;
200 }
201 template <typename TagsT = KeyValuePair>
202 S3Bucket& AddTags(TagsT&& value) {
203 m_tagsHasBeenSet = true;
204 m_tags.emplace_back(std::forward<TagsT>(value));
205 return *this;
206 }
208 private:
210
211 Aws::String m_arn;
212
213 Aws::Utils::DateTime m_createdAt{};
214
215 ServerSideEncryption m_defaultServerSideEncryption;
216
217 Aws::String m_name;
218
219 S3BucketOwner m_owner;
220
221 BucketPublicAccess m_publicAccess;
222
224 bool m_allowsUnencryptedObjectUploadsHasBeenSet = false;
225 bool m_arnHasBeenSet = false;
226 bool m_createdAtHasBeenSet = false;
227 bool m_defaultServerSideEncryptionHasBeenSet = false;
228 bool m_nameHasBeenSet = false;
229 bool m_ownerHasBeenSet = false;
230 bool m_publicAccessHasBeenSet = false;
231 bool m_tagsHasBeenSet = false;
232};
233
234} // namespace Model
235} // namespace Macie2
236} // namespace Aws
void SetCreatedAt(CreatedAtT &&value)
Definition S3Bucket.h:100
AWS_MACIE2_API S3Bucket()=default
S3Bucket & WithOwner(OwnerT &&value)
Definition S3Bucket.h:160
void SetOwner(OwnerT &&value)
Definition S3Bucket.h:155
AWS_MACIE2_API S3Bucket(Aws::Utils::Json::JsonView jsonValue)
S3Bucket & WithAllowsUnencryptedObjectUploads(AllowsUnencryptedObjectUploads value)
Definition S3Bucket.h:66
S3Bucket & WithTags(TagsT &&value)
Definition S3Bucket.h:197
S3Bucket & WithPublicAccess(PublicAccessT &&value)
Definition S3Bucket.h:179
S3Bucket & WithDefaultServerSideEncryption(DefaultServerSideEncryptionT &&value)
Definition S3Bucket.h:123
const Aws::String & GetArn() const
Definition S3Bucket.h:76
const Aws::Vector< KeyValuePair > & GetTags() const
Definition S3Bucket.h:189
S3Bucket & WithCreatedAt(CreatedAtT &&value)
Definition S3Bucket.h:105
AWS_MACIE2_API S3Bucket & operator=(Aws::Utils::Json::JsonView jsonValue)
S3Bucket & AddTags(TagsT &&value)
Definition S3Bucket.h:202
bool PublicAccessHasBeenSet() const
Definition S3Bucket.h:172
void SetDefaultServerSideEncryption(DefaultServerSideEncryptionT &&value)
Definition S3Bucket.h:118
void SetAllowsUnencryptedObjectUploads(AllowsUnencryptedObjectUploads value)
Definition S3Bucket.h:62
const Aws::String & GetName() const
Definition S3Bucket.h:133
const BucketPublicAccess & GetPublicAccess() const
Definition S3Bucket.h:171
S3Bucket & WithName(NameT &&value)
Definition S3Bucket.h:141
bool AllowsUnencryptedObjectUploadsHasBeenSet() const
Definition S3Bucket.h:61
AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const
AllowsUnencryptedObjectUploads GetAllowsUnencryptedObjectUploads() const
Definition S3Bucket.h:60
S3Bucket & WithArn(ArnT &&value)
Definition S3Bucket.h:84
bool CreatedAtHasBeenSet() const
Definition S3Bucket.h:98
void SetArn(ArnT &&value)
Definition S3Bucket.h:79
void SetName(NameT &&value)
Definition S3Bucket.h:136
void SetPublicAccess(PublicAccessT &&value)
Definition S3Bucket.h:174
const ServerSideEncryption & GetDefaultServerSideEncryption() const
Definition S3Bucket.h:115
const Aws::Utils::DateTime & GetCreatedAt() const
Definition S3Bucket.h:97
const S3BucketOwner & GetOwner() const
Definition S3Bucket.h:152
bool DefaultServerSideEncryptionHasBeenSet() const
Definition S3Bucket.h:116
void SetTags(TagsT &&value)
Definition S3Bucket.h:192
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue