AWS SDK for C++

AWS SDK for C++ Version 1.11.746

Loading...
Searching...
No Matches
Bucket.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/lightsail/Lightsail_EXPORTS.h>
11#include <aws/lightsail/model/AccessRules.h>
12#include <aws/lightsail/model/BucketAccessLogConfig.h>
13#include <aws/lightsail/model/BucketCorsConfig.h>
14#include <aws/lightsail/model/BucketState.h>
15#include <aws/lightsail/model/ResourceLocation.h>
16#include <aws/lightsail/model/ResourceReceivingAccess.h>
17#include <aws/lightsail/model/Tag.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Json {
24class JsonValue;
25class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace Lightsail {
29namespace Model {
30
36class Bucket {
37 public:
38 AWS_LIGHTSAIL_API Bucket() = default;
39 AWS_LIGHTSAIL_API Bucket(Aws::Utils::Json::JsonView jsonValue);
40 AWS_LIGHTSAIL_API Bucket& operator=(Aws::Utils::Json::JsonView jsonValue);
41 AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const;
42
44
47 inline const Aws::String& GetResourceType() const { return m_resourceType; }
48 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
49 template <typename ResourceTypeT = Aws::String>
50 void SetResourceType(ResourceTypeT&& value) {
51 m_resourceTypeHasBeenSet = true;
52 m_resourceType = std::forward<ResourceTypeT>(value);
53 }
54 template <typename ResourceTypeT = Aws::String>
55 Bucket& WithResourceType(ResourceTypeT&& value) {
56 SetResourceType(std::forward<ResourceTypeT>(value));
57 return *this;
58 }
60
62
65 inline const AccessRules& GetAccessRules() const { return m_accessRules; }
66 inline bool AccessRulesHasBeenSet() const { return m_accessRulesHasBeenSet; }
67 template <typename AccessRulesT = AccessRules>
68 void SetAccessRules(AccessRulesT&& value) {
69 m_accessRulesHasBeenSet = true;
70 m_accessRules = std::forward<AccessRulesT>(value);
71 }
72 template <typename AccessRulesT = AccessRules>
73 Bucket& WithAccessRules(AccessRulesT&& value) {
74 SetAccessRules(std::forward<AccessRulesT>(value));
75 return *this;
76 }
78
80
83 inline const Aws::String& GetArn() const { return m_arn; }
84 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
85 template <typename ArnT = Aws::String>
86 void SetArn(ArnT&& value) {
87 m_arnHasBeenSet = true;
88 m_arn = std::forward<ArnT>(value);
89 }
90 template <typename ArnT = Aws::String>
91 Bucket& WithArn(ArnT&& value) {
92 SetArn(std::forward<ArnT>(value));
93 return *this;
94 }
96
98
105 inline const Aws::String& GetBundleId() const { return m_bundleId; }
106 inline bool BundleIdHasBeenSet() const { return m_bundleIdHasBeenSet; }
107 template <typename BundleIdT = Aws::String>
108 void SetBundleId(BundleIdT&& value) {
109 m_bundleIdHasBeenSet = true;
110 m_bundleId = std::forward<BundleIdT>(value);
111 }
112 template <typename BundleIdT = Aws::String>
113 Bucket& WithBundleId(BundleIdT&& value) {
114 SetBundleId(std::forward<BundleIdT>(value));
115 return *this;
116 }
118
120
123 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
124 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
125 template <typename CreatedAtT = Aws::Utils::DateTime>
126 void SetCreatedAt(CreatedAtT&& value) {
127 m_createdAtHasBeenSet = true;
128 m_createdAt = std::forward<CreatedAtT>(value);
129 }
130 template <typename CreatedAtT = Aws::Utils::DateTime>
131 Bucket& WithCreatedAt(CreatedAtT&& value) {
132 SetCreatedAt(std::forward<CreatedAtT>(value));
133 return *this;
134 }
136
138
141 inline const Aws::String& GetUrl() const { return m_url; }
142 inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; }
143 template <typename UrlT = Aws::String>
144 void SetUrl(UrlT&& value) {
145 m_urlHasBeenSet = true;
146 m_url = std::forward<UrlT>(value);
147 }
148 template <typename UrlT = Aws::String>
149 Bucket& WithUrl(UrlT&& value) {
150 SetUrl(std::forward<UrlT>(value));
151 return *this;
152 }
154
156
160 inline const ResourceLocation& GetLocation() const { return m_location; }
161 inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
162 template <typename LocationT = ResourceLocation>
163 void SetLocation(LocationT&& value) {
164 m_locationHasBeenSet = true;
165 m_location = std::forward<LocationT>(value);
166 }
167 template <typename LocationT = ResourceLocation>
168 Bucket& WithLocation(LocationT&& value) {
169 SetLocation(std::forward<LocationT>(value));
170 return *this;
171 }
173
175
178 inline const Aws::String& GetName() const { return m_name; }
179 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
180 template <typename NameT = Aws::String>
181 void SetName(NameT&& value) {
182 m_nameHasBeenSet = true;
183 m_name = std::forward<NameT>(value);
184 }
185 template <typename NameT = Aws::String>
186 Bucket& WithName(NameT&& value) {
187 SetName(std::forward<NameT>(value));
188 return *this;
189 }
191
193
198 inline const Aws::String& GetSupportCode() const { return m_supportCode; }
199 inline bool SupportCodeHasBeenSet() const { return m_supportCodeHasBeenSet; }
200 template <typename SupportCodeT = Aws::String>
201 void SetSupportCode(SupportCodeT&& value) {
202 m_supportCodeHasBeenSet = true;
203 m_supportCode = std::forward<SupportCodeT>(value);
204 }
205 template <typename SupportCodeT = Aws::String>
206 Bucket& WithSupportCode(SupportCodeT&& value) {
207 SetSupportCode(std::forward<SupportCodeT>(value));
208 return *this;
209 }
211
213
218 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
219 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
220 template <typename TagsT = Aws::Vector<Tag>>
221 void SetTags(TagsT&& value) {
222 m_tagsHasBeenSet = true;
223 m_tags = std::forward<TagsT>(value);
224 }
225 template <typename TagsT = Aws::Vector<Tag>>
226 Bucket& WithTags(TagsT&& value) {
227 SetTags(std::forward<TagsT>(value));
228 return *this;
229 }
230 template <typename TagsT = Tag>
231 Bucket& AddTags(TagsT&& value) {
232 m_tagsHasBeenSet = true;
233 m_tags.emplace_back(std::forward<TagsT>(value));
234 return *this;
235 }
237
239
247 inline const Aws::String& GetObjectVersioning() const { return m_objectVersioning; }
248 inline bool ObjectVersioningHasBeenSet() const { return m_objectVersioningHasBeenSet; }
249 template <typename ObjectVersioningT = Aws::String>
250 void SetObjectVersioning(ObjectVersioningT&& value) {
251 m_objectVersioningHasBeenSet = true;
252 m_objectVersioning = std::forward<ObjectVersioningT>(value);
253 }
254 template <typename ObjectVersioningT = Aws::String>
255 Bucket& WithObjectVersioning(ObjectVersioningT&& value) {
256 SetObjectVersioning(std::forward<ObjectVersioningT>(value));
257 return *this;
258 }
260
262
269 inline bool GetAbleToUpdateBundle() const { return m_ableToUpdateBundle; }
270 inline bool AbleToUpdateBundleHasBeenSet() const { return m_ableToUpdateBundleHasBeenSet; }
271 inline void SetAbleToUpdateBundle(bool value) {
272 m_ableToUpdateBundleHasBeenSet = true;
273 m_ableToUpdateBundle = value;
274 }
275 inline Bucket& WithAbleToUpdateBundle(bool value) {
277 return *this;
278 }
280
282
286 inline const Aws::Vector<Aws::String>& GetReadonlyAccessAccounts() const { return m_readonlyAccessAccounts; }
287 inline bool ReadonlyAccessAccountsHasBeenSet() const { return m_readonlyAccessAccountsHasBeenSet; }
288 template <typename ReadonlyAccessAccountsT = Aws::Vector<Aws::String>>
289 void SetReadonlyAccessAccounts(ReadonlyAccessAccountsT&& value) {
290 m_readonlyAccessAccountsHasBeenSet = true;
291 m_readonlyAccessAccounts = std::forward<ReadonlyAccessAccountsT>(value);
292 }
293 template <typename ReadonlyAccessAccountsT = Aws::Vector<Aws::String>>
294 Bucket& WithReadonlyAccessAccounts(ReadonlyAccessAccountsT&& value) {
295 SetReadonlyAccessAccounts(std::forward<ReadonlyAccessAccountsT>(value));
296 return *this;
297 }
298 template <typename ReadonlyAccessAccountsT = Aws::String>
299 Bucket& AddReadonlyAccessAccounts(ReadonlyAccessAccountsT&& value) {
300 m_readonlyAccessAccountsHasBeenSet = true;
301 m_readonlyAccessAccounts.emplace_back(std::forward<ReadonlyAccessAccountsT>(value));
302 return *this;
303 }
305
307
313 inline const Aws::Vector<ResourceReceivingAccess>& GetResourcesReceivingAccess() const { return m_resourcesReceivingAccess; }
314 inline bool ResourcesReceivingAccessHasBeenSet() const { return m_resourcesReceivingAccessHasBeenSet; }
315 template <typename ResourcesReceivingAccessT = Aws::Vector<ResourceReceivingAccess>>
316 void SetResourcesReceivingAccess(ResourcesReceivingAccessT&& value) {
317 m_resourcesReceivingAccessHasBeenSet = true;
318 m_resourcesReceivingAccess = std::forward<ResourcesReceivingAccessT>(value);
319 }
320 template <typename ResourcesReceivingAccessT = Aws::Vector<ResourceReceivingAccess>>
321 Bucket& WithResourcesReceivingAccess(ResourcesReceivingAccessT&& value) {
322 SetResourcesReceivingAccess(std::forward<ResourcesReceivingAccessT>(value));
323 return *this;
324 }
325 template <typename ResourcesReceivingAccessT = ResourceReceivingAccess>
326 Bucket& AddResourcesReceivingAccess(ResourcesReceivingAccessT&& value) {
327 m_resourcesReceivingAccessHasBeenSet = true;
328 m_resourcesReceivingAccess.emplace_back(std::forward<ResourcesReceivingAccessT>(value));
329 return *this;
330 }
332
334
337 inline const BucketState& GetState() const { return m_state; }
338 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
339 template <typename StateT = BucketState>
340 void SetState(StateT&& value) {
341 m_stateHasBeenSet = true;
342 m_state = std::forward<StateT>(value);
343 }
344 template <typename StateT = BucketState>
345 Bucket& WithState(StateT&& value) {
346 SetState(std::forward<StateT>(value));
347 return *this;
348 }
350
352
355 inline const BucketAccessLogConfig& GetAccessLogConfig() const { return m_accessLogConfig; }
356 inline bool AccessLogConfigHasBeenSet() const { return m_accessLogConfigHasBeenSet; }
357 template <typename AccessLogConfigT = BucketAccessLogConfig>
358 void SetAccessLogConfig(AccessLogConfigT&& value) {
359 m_accessLogConfigHasBeenSet = true;
360 m_accessLogConfig = std::forward<AccessLogConfigT>(value);
361 }
362 template <typename AccessLogConfigT = BucketAccessLogConfig>
363 Bucket& WithAccessLogConfig(AccessLogConfigT&& value) {
364 SetAccessLogConfig(std::forward<AccessLogConfigT>(value));
365 return *this;
366 }
368
370
378 inline const BucketCorsConfig& GetCors() const { return m_cors; }
379 inline bool CorsHasBeenSet() const { return m_corsHasBeenSet; }
380 template <typename CorsT = BucketCorsConfig>
381 void SetCors(CorsT&& value) {
382 m_corsHasBeenSet = true;
383 m_cors = std::forward<CorsT>(value);
384 }
385 template <typename CorsT = BucketCorsConfig>
386 Bucket& WithCors(CorsT&& value) {
387 SetCors(std::forward<CorsT>(value));
388 return *this;
389 }
391 private:
392 Aws::String m_resourceType;
393
394 AccessRules m_accessRules;
395
396 Aws::String m_arn;
397
398 Aws::String m_bundleId;
399
400 Aws::Utils::DateTime m_createdAt{};
401
402 Aws::String m_url;
403
404 ResourceLocation m_location;
405
406 Aws::String m_name;
407
408 Aws::String m_supportCode;
409
410 Aws::Vector<Tag> m_tags;
411
412 Aws::String m_objectVersioning;
413
414 bool m_ableToUpdateBundle{false};
415
416 Aws::Vector<Aws::String> m_readonlyAccessAccounts;
417
418 Aws::Vector<ResourceReceivingAccess> m_resourcesReceivingAccess;
419
420 BucketState m_state;
421
422 BucketAccessLogConfig m_accessLogConfig;
423
424 BucketCorsConfig m_cors;
425 bool m_resourceTypeHasBeenSet = false;
426 bool m_accessRulesHasBeenSet = false;
427 bool m_arnHasBeenSet = false;
428 bool m_bundleIdHasBeenSet = false;
429 bool m_createdAtHasBeenSet = false;
430 bool m_urlHasBeenSet = false;
431 bool m_locationHasBeenSet = false;
432 bool m_nameHasBeenSet = false;
433 bool m_supportCodeHasBeenSet = false;
434 bool m_tagsHasBeenSet = false;
435 bool m_objectVersioningHasBeenSet = false;
436 bool m_ableToUpdateBundleHasBeenSet = false;
437 bool m_readonlyAccessAccountsHasBeenSet = false;
438 bool m_resourcesReceivingAccessHasBeenSet = false;
439 bool m_stateHasBeenSet = false;
440 bool m_accessLogConfigHasBeenSet = false;
441 bool m_corsHasBeenSet = false;
442};
443
444} // namespace Model
445} // namespace Lightsail
446} // namespace Aws
bool TagsHasBeenSet() const
Definition Bucket.h:219
AWS_LIGHTSAIL_API Bucket()=default
void SetAbleToUpdateBundle(bool value)
Definition Bucket.h:271
Bucket & WithResourceType(ResourceTypeT &&value)
Definition Bucket.h:55
void SetLocation(LocationT &&value)
Definition Bucket.h:163
void SetResourceType(ResourceTypeT &&value)
Definition Bucket.h:50
void SetState(StateT &&value)
Definition Bucket.h:340
const Aws::Vector< Tag > & GetTags() const
Definition Bucket.h:218
Bucket & WithSupportCode(SupportCodeT &&value)
Definition Bucket.h:206
bool LocationHasBeenSet() const
Definition Bucket.h:161
AWS_LIGHTSAIL_API Bucket(Aws::Utils::Json::JsonView jsonValue)
Bucket & WithLocation(LocationT &&value)
Definition Bucket.h:168
AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const
Bucket & WithAccessLogConfig(AccessLogConfigT &&value)
Definition Bucket.h:363
const Aws::Utils::DateTime & GetCreatedAt() const
Definition Bucket.h:123
bool ArnHasBeenSet() const
Definition Bucket.h:84
Bucket & AddReadonlyAccessAccounts(ReadonlyAccessAccountsT &&value)
Definition Bucket.h:299
const BucketCorsConfig & GetCors() const
Definition Bucket.h:378
bool ReadonlyAccessAccountsHasBeenSet() const
Definition Bucket.h:287
Bucket & WithState(StateT &&value)
Definition Bucket.h:345
const Aws::String & GetSupportCode() const
Definition Bucket.h:198
void SetResourcesReceivingAccess(ResourcesReceivingAccessT &&value)
Definition Bucket.h:316
void SetObjectVersioning(ObjectVersioningT &&value)
Definition Bucket.h:250
bool AccessLogConfigHasBeenSet() const
Definition Bucket.h:356
const Aws::String & GetResourceType() const
Definition Bucket.h:47
bool CreatedAtHasBeenSet() const
Definition Bucket.h:124
bool AbleToUpdateBundleHasBeenSet() const
Definition Bucket.h:270
void SetAccessRules(AccessRulesT &&value)
Definition Bucket.h:68
Bucket & WithBundleId(BundleIdT &&value)
Definition Bucket.h:113
void SetTags(TagsT &&value)
Definition Bucket.h:221
void SetCors(CorsT &&value)
Definition Bucket.h:381
Bucket & WithCreatedAt(CreatedAtT &&value)
Definition Bucket.h:131
void SetSupportCode(SupportCodeT &&value)
Definition Bucket.h:201
Bucket & WithObjectVersioning(ObjectVersioningT &&value)
Definition Bucket.h:255
Bucket & WithName(NameT &&value)
Definition Bucket.h:186
void SetName(NameT &&value)
Definition Bucket.h:181
const BucketState & GetState() const
Definition Bucket.h:337
bool CorsHasBeenSet() const
Definition Bucket.h:379
void SetArn(ArnT &&value)
Definition Bucket.h:86
const Aws::String & GetName() const
Definition Bucket.h:178
const Aws::String & GetObjectVersioning() const
Definition Bucket.h:247
bool StateHasBeenSet() const
Definition Bucket.h:338
bool ResourcesReceivingAccessHasBeenSet() const
Definition Bucket.h:314
Bucket & WithResourcesReceivingAccess(ResourcesReceivingAccessT &&value)
Definition Bucket.h:321
Bucket & AddTags(TagsT &&value)
Definition Bucket.h:231
const Aws::String & GetArn() const
Definition Bucket.h:83
bool BundleIdHasBeenSet() const
Definition Bucket.h:106
bool ResourceTypeHasBeenSet() const
Definition Bucket.h:48
AWS_LIGHTSAIL_API Bucket & operator=(Aws::Utils::Json::JsonView jsonValue)
Bucket & WithArn(ArnT &&value)
Definition Bucket.h:91
Bucket & WithAccessRules(AccessRulesT &&value)
Definition Bucket.h:73
Bucket & WithReadonlyAccessAccounts(ReadonlyAccessAccountsT &&value)
Definition Bucket.h:294
Bucket & WithTags(TagsT &&value)
Definition Bucket.h:226
bool SupportCodeHasBeenSet() const
Definition Bucket.h:199
const Aws::String & GetUrl() const
Definition Bucket.h:141
const Aws::String & GetBundleId() const
Definition Bucket.h:105
void SetUrl(UrlT &&value)
Definition Bucket.h:144
void SetCreatedAt(CreatedAtT &&value)
Definition Bucket.h:126
Bucket & WithUrl(UrlT &&value)
Definition Bucket.h:149
const Aws::Vector< ResourceReceivingAccess > & GetResourcesReceivingAccess() const
Definition Bucket.h:313
void SetAccessLogConfig(AccessLogConfigT &&value)
Definition Bucket.h:358
const Aws::Vector< Aws::String > & GetReadonlyAccessAccounts() const
Definition Bucket.h:286
const ResourceLocation & GetLocation() const
Definition Bucket.h:160
Bucket & WithCors(CorsT &&value)
Definition Bucket.h:386
bool NameHasBeenSet() const
Definition Bucket.h:179
Bucket & WithAbleToUpdateBundle(bool value)
Definition Bucket.h:275
void SetReadonlyAccessAccounts(ReadonlyAccessAccountsT &&value)
Definition Bucket.h:289
bool ObjectVersioningHasBeenSet() const
Definition Bucket.h:248
const AccessRules & GetAccessRules() const
Definition Bucket.h:65
const BucketAccessLogConfig & GetAccessLogConfig() const
Definition Bucket.h:355
bool AccessRulesHasBeenSet() const
Definition Bucket.h:66
Bucket & AddResourcesReceivingAccess(ResourcesReceivingAccessT &&value)
Definition Bucket.h:326
bool GetAbleToUpdateBundle() const
Definition Bucket.h:269
void SetBundleId(BundleIdT &&value)
Definition Bucket.h:108
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue