AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Bucket.h
1
6#pragma once
7#include <aws/lightsail/Lightsail_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/lightsail/model/AccessRules.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/lightsail/model/ResourceLocation.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/lightsail/model/BucketState.h>
14#include <aws/lightsail/model/BucketAccessLogConfig.h>
15#include <aws/lightsail/model/Tag.h>
16#include <aws/lightsail/model/ResourceReceivingAccess.h>
17#include <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Json
24{
25 class JsonValue;
26 class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace Lightsail
30{
31namespace Model
32{
33
39 class Bucket
40 {
41 public:
42 AWS_LIGHTSAIL_API Bucket() = default;
43 AWS_LIGHTSAIL_API Bucket(Aws::Utils::Json::JsonView jsonValue);
44 AWS_LIGHTSAIL_API Bucket& operator=(Aws::Utils::Json::JsonView jsonValue);
45 AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const;
46
47
49
52 inline const Aws::String& GetResourceType() const { return m_resourceType; }
53 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
54 template<typename ResourceTypeT = Aws::String>
55 void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward<ResourceTypeT>(value); }
56 template<typename ResourceTypeT = Aws::String>
57 Bucket& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward<ResourceTypeT>(value)); return *this;}
59
61
64 inline const AccessRules& GetAccessRules() const { return m_accessRules; }
65 inline bool AccessRulesHasBeenSet() const { return m_accessRulesHasBeenSet; }
66 template<typename AccessRulesT = AccessRules>
67 void SetAccessRules(AccessRulesT&& value) { m_accessRulesHasBeenSet = true; m_accessRules = std::forward<AccessRulesT>(value); }
68 template<typename AccessRulesT = AccessRules>
69 Bucket& WithAccessRules(AccessRulesT&& value) { SetAccessRules(std::forward<AccessRulesT>(value)); return *this;}
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) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
80 template<typename ArnT = Aws::String>
81 Bucket& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
83
85
92 inline const Aws::String& GetBundleId() const { return m_bundleId; }
93 inline bool BundleIdHasBeenSet() const { return m_bundleIdHasBeenSet; }
94 template<typename BundleIdT = Aws::String>
95 void SetBundleId(BundleIdT&& value) { m_bundleIdHasBeenSet = true; m_bundleId = std::forward<BundleIdT>(value); }
96 template<typename BundleIdT = Aws::String>
97 Bucket& WithBundleId(BundleIdT&& value) { SetBundleId(std::forward<BundleIdT>(value)); return *this;}
99
101
104 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
105 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
106 template<typename CreatedAtT = Aws::Utils::DateTime>
107 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward<CreatedAtT>(value); }
108 template<typename CreatedAtT = Aws::Utils::DateTime>
109 Bucket& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward<CreatedAtT>(value)); return *this;}
111
113
116 inline const Aws::String& GetUrl() const { return m_url; }
117 inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; }
118 template<typename UrlT = Aws::String>
119 void SetUrl(UrlT&& value) { m_urlHasBeenSet = true; m_url = std::forward<UrlT>(value); }
120 template<typename UrlT = Aws::String>
121 Bucket& WithUrl(UrlT&& value) { SetUrl(std::forward<UrlT>(value)); return *this;}
123
125
129 inline const ResourceLocation& GetLocation() const { return m_location; }
130 inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
131 template<typename LocationT = ResourceLocation>
132 void SetLocation(LocationT&& value) { m_locationHasBeenSet = true; m_location = std::forward<LocationT>(value); }
133 template<typename LocationT = ResourceLocation>
134 Bucket& WithLocation(LocationT&& value) { SetLocation(std::forward<LocationT>(value)); return *this;}
136
138
141 inline const Aws::String& GetName() const { return m_name; }
142 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
143 template<typename NameT = Aws::String>
144 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
145 template<typename NameT = Aws::String>
146 Bucket& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
148
150
155 inline const Aws::String& GetSupportCode() const { return m_supportCode; }
156 inline bool SupportCodeHasBeenSet() const { return m_supportCodeHasBeenSet; }
157 template<typename SupportCodeT = Aws::String>
158 void SetSupportCode(SupportCodeT&& value) { m_supportCodeHasBeenSet = true; m_supportCode = std::forward<SupportCodeT>(value); }
159 template<typename SupportCodeT = Aws::String>
160 Bucket& WithSupportCode(SupportCodeT&& value) { SetSupportCode(std::forward<SupportCodeT>(value)); return *this;}
162
164
169 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
170 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
171 template<typename TagsT = Aws::Vector<Tag>>
172 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
173 template<typename TagsT = Aws::Vector<Tag>>
174 Bucket& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
175 template<typename TagsT = Tag>
176 Bucket& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
178
180
188 inline const Aws::String& GetObjectVersioning() const { return m_objectVersioning; }
189 inline bool ObjectVersioningHasBeenSet() const { return m_objectVersioningHasBeenSet; }
190 template<typename ObjectVersioningT = Aws::String>
191 void SetObjectVersioning(ObjectVersioningT&& value) { m_objectVersioningHasBeenSet = true; m_objectVersioning = std::forward<ObjectVersioningT>(value); }
192 template<typename ObjectVersioningT = Aws::String>
193 Bucket& WithObjectVersioning(ObjectVersioningT&& value) { SetObjectVersioning(std::forward<ObjectVersioningT>(value)); return *this;}
195
197
204 inline bool GetAbleToUpdateBundle() const { return m_ableToUpdateBundle; }
205 inline bool AbleToUpdateBundleHasBeenSet() const { return m_ableToUpdateBundleHasBeenSet; }
206 inline void SetAbleToUpdateBundle(bool value) { m_ableToUpdateBundleHasBeenSet = true; m_ableToUpdateBundle = value; }
207 inline Bucket& WithAbleToUpdateBundle(bool value) { SetAbleToUpdateBundle(value); return *this;}
209
211
215 inline const Aws::Vector<Aws::String>& GetReadonlyAccessAccounts() const { return m_readonlyAccessAccounts; }
216 inline bool ReadonlyAccessAccountsHasBeenSet() const { return m_readonlyAccessAccountsHasBeenSet; }
217 template<typename ReadonlyAccessAccountsT = Aws::Vector<Aws::String>>
218 void SetReadonlyAccessAccounts(ReadonlyAccessAccountsT&& value) { m_readonlyAccessAccountsHasBeenSet = true; m_readonlyAccessAccounts = std::forward<ReadonlyAccessAccountsT>(value); }
219 template<typename ReadonlyAccessAccountsT = Aws::Vector<Aws::String>>
220 Bucket& WithReadonlyAccessAccounts(ReadonlyAccessAccountsT&& value) { SetReadonlyAccessAccounts(std::forward<ReadonlyAccessAccountsT>(value)); return *this;}
221 template<typename ReadonlyAccessAccountsT = Aws::String>
222 Bucket& AddReadonlyAccessAccounts(ReadonlyAccessAccountsT&& value) { m_readonlyAccessAccountsHasBeenSet = true; m_readonlyAccessAccounts.emplace_back(std::forward<ReadonlyAccessAccountsT>(value)); return *this; }
224
226
232 inline const Aws::Vector<ResourceReceivingAccess>& GetResourcesReceivingAccess() const { return m_resourcesReceivingAccess; }
233 inline bool ResourcesReceivingAccessHasBeenSet() const { return m_resourcesReceivingAccessHasBeenSet; }
234 template<typename ResourcesReceivingAccessT = Aws::Vector<ResourceReceivingAccess>>
235 void SetResourcesReceivingAccess(ResourcesReceivingAccessT&& value) { m_resourcesReceivingAccessHasBeenSet = true; m_resourcesReceivingAccess = std::forward<ResourcesReceivingAccessT>(value); }
236 template<typename ResourcesReceivingAccessT = Aws::Vector<ResourceReceivingAccess>>
237 Bucket& WithResourcesReceivingAccess(ResourcesReceivingAccessT&& value) { SetResourcesReceivingAccess(std::forward<ResourcesReceivingAccessT>(value)); return *this;}
238 template<typename ResourcesReceivingAccessT = ResourceReceivingAccess>
239 Bucket& AddResourcesReceivingAccess(ResourcesReceivingAccessT&& value) { m_resourcesReceivingAccessHasBeenSet = true; m_resourcesReceivingAccess.emplace_back(std::forward<ResourcesReceivingAccessT>(value)); return *this; }
241
243
246 inline const BucketState& GetState() const { return m_state; }
247 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
248 template<typename StateT = BucketState>
249 void SetState(StateT&& value) { m_stateHasBeenSet = true; m_state = std::forward<StateT>(value); }
250 template<typename StateT = BucketState>
251 Bucket& WithState(StateT&& value) { SetState(std::forward<StateT>(value)); return *this;}
253
255
258 inline const BucketAccessLogConfig& GetAccessLogConfig() const { return m_accessLogConfig; }
259 inline bool AccessLogConfigHasBeenSet() const { return m_accessLogConfigHasBeenSet; }
260 template<typename AccessLogConfigT = BucketAccessLogConfig>
261 void SetAccessLogConfig(AccessLogConfigT&& value) { m_accessLogConfigHasBeenSet = true; m_accessLogConfig = std::forward<AccessLogConfigT>(value); }
262 template<typename AccessLogConfigT = BucketAccessLogConfig>
263 Bucket& WithAccessLogConfig(AccessLogConfigT&& value) { SetAccessLogConfig(std::forward<AccessLogConfigT>(value)); return *this;}
265 private:
266
267 Aws::String m_resourceType;
268 bool m_resourceTypeHasBeenSet = false;
269
270 AccessRules m_accessRules;
271 bool m_accessRulesHasBeenSet = false;
272
273 Aws::String m_arn;
274 bool m_arnHasBeenSet = false;
275
276 Aws::String m_bundleId;
277 bool m_bundleIdHasBeenSet = false;
278
279 Aws::Utils::DateTime m_createdAt{};
280 bool m_createdAtHasBeenSet = false;
281
282 Aws::String m_url;
283 bool m_urlHasBeenSet = false;
284
285 ResourceLocation m_location;
286 bool m_locationHasBeenSet = false;
287
288 Aws::String m_name;
289 bool m_nameHasBeenSet = false;
290
291 Aws::String m_supportCode;
292 bool m_supportCodeHasBeenSet = false;
293
294 Aws::Vector<Tag> m_tags;
295 bool m_tagsHasBeenSet = false;
296
297 Aws::String m_objectVersioning;
298 bool m_objectVersioningHasBeenSet = false;
299
300 bool m_ableToUpdateBundle{false};
301 bool m_ableToUpdateBundleHasBeenSet = false;
302
303 Aws::Vector<Aws::String> m_readonlyAccessAccounts;
304 bool m_readonlyAccessAccountsHasBeenSet = false;
305
306 Aws::Vector<ResourceReceivingAccess> m_resourcesReceivingAccess;
307 bool m_resourcesReceivingAccessHasBeenSet = false;
308
309 BucketState m_state;
310 bool m_stateHasBeenSet = false;
311
312 BucketAccessLogConfig m_accessLogConfig;
313 bool m_accessLogConfigHasBeenSet = false;
314 };
315
316} // namespace Model
317} // namespace Lightsail
318} // namespace Aws
bool TagsHasBeenSet() const
Definition Bucket.h:170
AWS_LIGHTSAIL_API Bucket()=default
void SetAbleToUpdateBundle(bool value)
Definition Bucket.h:206
Bucket & WithResourceType(ResourceTypeT &&value)
Definition Bucket.h:57
void SetLocation(LocationT &&value)
Definition Bucket.h:132
void SetResourceType(ResourceTypeT &&value)
Definition Bucket.h:55
void SetState(StateT &&value)
Definition Bucket.h:249
const Aws::Vector< Tag > & GetTags() const
Definition Bucket.h:169
Bucket & WithSupportCode(SupportCodeT &&value)
Definition Bucket.h:160
bool LocationHasBeenSet() const
Definition Bucket.h:130
AWS_LIGHTSAIL_API Bucket(Aws::Utils::Json::JsonView jsonValue)
Bucket & WithLocation(LocationT &&value)
Definition Bucket.h:134
AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const
Bucket & WithAccessLogConfig(AccessLogConfigT &&value)
Definition Bucket.h:263
const Aws::Utils::DateTime & GetCreatedAt() const
Definition Bucket.h:104
bool ArnHasBeenSet() const
Definition Bucket.h:77
Bucket & AddReadonlyAccessAccounts(ReadonlyAccessAccountsT &&value)
Definition Bucket.h:222
bool ReadonlyAccessAccountsHasBeenSet() const
Definition Bucket.h:216
Bucket & WithState(StateT &&value)
Definition Bucket.h:251
const Aws::String & GetSupportCode() const
Definition Bucket.h:155
void SetResourcesReceivingAccess(ResourcesReceivingAccessT &&value)
Definition Bucket.h:235
void SetObjectVersioning(ObjectVersioningT &&value)
Definition Bucket.h:191
bool AccessLogConfigHasBeenSet() const
Definition Bucket.h:259
const Aws::String & GetResourceType() const
Definition Bucket.h:52
bool CreatedAtHasBeenSet() const
Definition Bucket.h:105
bool AbleToUpdateBundleHasBeenSet() const
Definition Bucket.h:205
void SetAccessRules(AccessRulesT &&value)
Definition Bucket.h:67
Bucket & WithBundleId(BundleIdT &&value)
Definition Bucket.h:97
void SetTags(TagsT &&value)
Definition Bucket.h:172
Bucket & WithCreatedAt(CreatedAtT &&value)
Definition Bucket.h:109
void SetSupportCode(SupportCodeT &&value)
Definition Bucket.h:158
Bucket & WithObjectVersioning(ObjectVersioningT &&value)
Definition Bucket.h:193
Bucket & WithName(NameT &&value)
Definition Bucket.h:146
void SetName(NameT &&value)
Definition Bucket.h:144
const BucketState & GetState() const
Definition Bucket.h:246
void SetArn(ArnT &&value)
Definition Bucket.h:79
const Aws::String & GetName() const
Definition Bucket.h:141
const Aws::String & GetObjectVersioning() const
Definition Bucket.h:188
bool StateHasBeenSet() const
Definition Bucket.h:247
bool ResourcesReceivingAccessHasBeenSet() const
Definition Bucket.h:233
Bucket & WithResourcesReceivingAccess(ResourcesReceivingAccessT &&value)
Definition Bucket.h:237
Bucket & AddTags(TagsT &&value)
Definition Bucket.h:176
const Aws::String & GetArn() const
Definition Bucket.h:76
bool BundleIdHasBeenSet() const
Definition Bucket.h:93
bool ResourceTypeHasBeenSet() const
Definition Bucket.h:53
AWS_LIGHTSAIL_API Bucket & operator=(Aws::Utils::Json::JsonView jsonValue)
Bucket & WithArn(ArnT &&value)
Definition Bucket.h:81
Bucket & WithAccessRules(AccessRulesT &&value)
Definition Bucket.h:69
Bucket & WithReadonlyAccessAccounts(ReadonlyAccessAccountsT &&value)
Definition Bucket.h:220
Bucket & WithTags(TagsT &&value)
Definition Bucket.h:174
bool SupportCodeHasBeenSet() const
Definition Bucket.h:156
const Aws::String & GetUrl() const
Definition Bucket.h:116
const Aws::String & GetBundleId() const
Definition Bucket.h:92
void SetUrl(UrlT &&value)
Definition Bucket.h:119
void SetCreatedAt(CreatedAtT &&value)
Definition Bucket.h:107
Bucket & WithUrl(UrlT &&value)
Definition Bucket.h:121
const Aws::Vector< ResourceReceivingAccess > & GetResourcesReceivingAccess() const
Definition Bucket.h:232
void SetAccessLogConfig(AccessLogConfigT &&value)
Definition Bucket.h:261
const Aws::Vector< Aws::String > & GetReadonlyAccessAccounts() const
Definition Bucket.h:215
const ResourceLocation & GetLocation() const
Definition Bucket.h:129
bool NameHasBeenSet() const
Definition Bucket.h:142
Bucket & WithAbleToUpdateBundle(bool value)
Definition Bucket.h:207
void SetReadonlyAccessAccounts(ReadonlyAccessAccountsT &&value)
Definition Bucket.h:218
bool ObjectVersioningHasBeenSet() const
Definition Bucket.h:189
const AccessRules & GetAccessRules() const
Definition Bucket.h:64
const BucketAccessLogConfig & GetAccessLogConfig() const
Definition Bucket.h:258
bool AccessRulesHasBeenSet() const
Definition Bucket.h:65
Bucket & AddResourcesReceivingAccess(ResourcesReceivingAccessT &&value)
Definition Bucket.h:239
bool GetAbleToUpdateBundle() const
Definition Bucket.h:204
void SetBundleId(BundleIdT &&value)
Definition Bucket.h:95
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue